From d4ef3baca86fdf54c76db53fafa45116651782c9 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Mon, 23 Apr 2012 18:30:49 +0900 Subject: remove code for unsupported taint-mode --- src/string.c | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) (limited to 'src/string.c') diff --git a/src/string.c b/src/string.c index e774b7032..b5d7c4342 100644 --- a/src/string.c +++ b/src/string.c @@ -81,14 +81,6 @@ mrb_str_set_len(mrb_state *mrb, mrb_value str, long len) static mrb_value mrb_enc_cr_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, long len, int ptr_encindex, int ptr_cr, int *ptr_cr_ret); #endif //INCLUDE_ENCODING -mrb_value -mrb_tainted_str_new(mrb_state *mrb, const char *ptr, long len) -{ - mrb_value str = mrb_str_new(mrb, ptr, len); - - //OBJ_TAINT(str); - return str; -} #ifdef INCLUDE_ENCODING mrb_value @@ -104,7 +96,7 @@ mrb_external_str_new_with_enc(mrb_state *mrb, const char *ptr, long len, mrb_enc { mrb_value str; - str = mrb_tainted_str_new(mrb, ptr, len); + str = mrb_str_new(mrb, ptr, len); if (eenc == mrb_usascii_encoding(mrb) && mrb_enc_str_coderange(mrb, str) != ENC_CODERANGE_7BIT) { mrb_enc_associate(mrb, str, mrb_ascii8bit_encoding(mrb)); @@ -797,8 +789,6 @@ mrb_str_plus_m(mrb_state *mrb, mrb_value self) RSTRING_PTR(str2), RSTRING_LEN(str2)); RSTRING_PTR(str3)[RSTRING_LEN(str3)] = '\0'; #ifdef INCLUDE_ENCODING - //if (OBJ_TAINTED(str1) || OBJ_TAINTED(str2)) - // OBJ_TAINT(str3); ENCODING_CODERANGE_SET(mrb, str3, mrb_enc_to_index(enc), ENC_CODERANGE_AND(ENC_CODERANGE(self), ENC_CODERANGE(str2))); #endif //INCLUDE_ENCODING @@ -889,7 +879,6 @@ mrb_str_times(mrb_state *mrb, mrb_value self) } ptr2[RSTRING_LEN(str2)] = '\0'; - //OBJ_INFECT(str2, str); mrb_enc_cr_str_copy_for_substr(mrb, str2, self); return str2; @@ -1504,7 +1493,6 @@ num_index: return mrb_nil_value(); default: tmp = mrb_str_substr(mrb, str, beg, len); - /*OBJ_INFECT(tmp, indx);*/ return tmp; } } @@ -2106,7 +2094,6 @@ mrb_str_each_line(mrb_state *mrb, mrb_value str) (rslen <= 1 || memcmp(prs->buf, p-rslen, rslen) == 0)) { line = mrb_str_new5(mrb, str, s, p - s); - /*OBJ_INFECT(line, str);*/ mrb_yield(mrb, b, line); str_mod_check(mrb, str, ptr, len); s = p; @@ -2116,7 +2103,6 @@ mrb_str_each_line(mrb_state *mrb, mrb_value str) if (s != pend) { if (p > pend) p = pend; line = mrb_str_new5(mrb, str, s, p - s); - /*OBJ_INFECT(line, str);*/ mrb_yield(mrb, b, line); } @@ -2224,7 +2210,6 @@ mrb_str_new_shared(mrb_state *mrb, mrb_value str) { mrb_value str2 = str_new3(mrb, mrb_obj_class(mrb, str), str); - //OBJ_INFECT(str2, str); return str2; } @@ -2411,7 +2396,6 @@ mrb_str_buf_append(mrb_state *mrb, mrb_value str, mrb_value str2) mrb_enc_cr_str_buf_cat(mrb, str, RSTRING_PTR(str2), RSTRING_LEN(str2), ENCODING_GET(mrb, str2), str2_cr, &str2_cr); - //OBJ_INFECT(str, str2); ENC_CODERANGE_SET(str2, str2_cr); return str; @@ -2474,7 +2458,6 @@ str_gsub(mrb_state *mrb, mrb_value str, mrb_int bang) mrb_int offset, blen, slen, len, last; int iter = 0; char *sp, *cp; - //int tainted = 0; mrb_encoding *str_enc; mrb_get_args(mrb, "*", &argv, &argc); @@ -2486,7 +2469,6 @@ str_gsub(mrb_state *mrb, mrb_value str, mrb_int bang) case 2: repl = argv[1]; mrb_string_value(mrb, &repl); - /*if (OBJ_TAINTED(repl)) tainted = 1;*/ break; default: mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments (%d for 2)", argc); @@ -2578,9 +2560,6 @@ str_gsub(mrb_state *mrb, mrb_value str, mrb_int bang) * $&, and $' will be set appropriately. The value * returned by the block will be substituted for the match on each call. * - * The result inherits any tainting in the original string or any supplied - * replacement string. - * * When neither a block nor a second argument is supplied, an * Enumerator is returned. * @@ -2818,9 +2797,6 @@ str_replace(mrb_state *mrb, mrb_value str, mrb_value str2) * call-seq: * str.replace(other_str) => str * - * Replaces the contents and taintedness of str with the corresponding - * values in other_str. - * * s = "hello" #=> "hello" * s.replace "world" #=> "world" */ @@ -3775,8 +3751,6 @@ mrb_str_sub_bang(mrb_state *mrb, mrb_value str) } mrb_str_modify(mrb, str); mrb_enc_associate(mrb, str, enc); - //if (OBJ_TAINTED(repl)) tainted = 1; - //if (OBJ_UNTRUSTED(repl)) untrusted = 1; if (ENC_CODERANGE_UNKNOWN < cr && cr < ENC_CODERANGE_BROKEN) { int cr2 = ENC_CODERANGE(repl); if (cr2 == ENC_CODERANGE_BROKEN || @@ -3838,9 +3812,6 @@ mrb_str_sub_bang(mrb_state *mrb, mrb_value str) * $&, and $' will be set appropriately. The value * returned by the block will be substituted for the match on each call. * - * The result inherits any tainting in the original string or any supplied - * replacement string. - * * "hello".sub(/[aeiou]/, '*') #=> "h*llo" * "hello".sub(/([aeiou])/, '<\1>') #=> "hllo" * "hello".sub(/./) {|s| s.ord.to_s + ' ' } #=> "104 ello" @@ -4703,7 +4674,6 @@ mrb_str_dump(mrb_state *mrb, mrb_value str) snprintf(q, qend-q, ".force_encoding(\"%s\")", enc->name); enc = mrb_ascii8bit_encoding(mrb); } - //OBJ_INFECT(result, str); /* result from dump is ASCII */ mrb_enc_associate(mrb, result, enc); ENC_CODERANGE_SET(result, ENC_CODERANGE_7BIT); @@ -4792,7 +4762,7 @@ mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2) RSTRING(str)->len = len; mrb_enc_associate(mrb, str, enc); ENC_CODERANGE_SET(str, cr); - //OBJ_INFECT(str, str2); + return str; } #ifdef INCLUDE_ENCODING @@ -4989,7 +4959,6 @@ mrb_str_inspect(mrb_state *mrb, mrb_value str) if (p > prev) mrb_str_buf_cat(mrb, result, prev, p - prev); mrb_str_buf_cat(mrb, result, "\"", strlen("\"")); //str_buf_cat2(result, "\""); - //OBJ_INFECT(result, str); return result; } -- cgit v1.2.3