[macruby-changes] [4958] MacRuby/trunk/pack.c

source_changes at macosforge.org source_changes at macosforge.org
Tue Nov 30 01:26:01 PST 2010


Revision: 4958
          http://trac.macosforge.org/projects/ruby/changeset/4958
Author:   watson1978 at gmail.com
Date:     2010-11-30 01:25:57 -0800 (Tue, 30 Nov 2010)
Log Message:
-----------
Array#pack will return a tainted/untrusted string when Array's element is tainted/untrusted.

Test Script:
{{{
require 'test/unit/assertions.rb'
include Test::Unit::Assertions

ary = ["abcd".untrust, 0x20]
assert_equal(true, ary.pack("A3C").untrusted?)

ary = ["abcd".taint, 0x20]
assert_equal(true, ary.pack("A3C").tainted?)

puts :ok
}}}

Modified Paths:
--------------
    MacRuby/trunk/pack.c

Modified: MacRuby/trunk/pack.c
===================================================================
--- MacRuby/trunk/pack.c	2010-11-30 09:25:51 UTC (rev 4957)
+++ MacRuby/trunk/pack.c	2010-11-30 09:25:57 UTC (rev 4958)
@@ -537,6 +537,7 @@
 		StringValue(from);
 		ptr = RSTRING_PTR(from);
 		plen = RSTRING_LEN(from);
+		OBJ_INFECT(data, from);
 	    }
 
 	    if (p[-1] == '*')
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101130/9c046f3b/attachment.html>


More information about the macruby-changes mailing list