From dc98adf839d0d68c4c18647a1db2fb3dc9be8cc4 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 8 Nov 2001 06:43:14 +0000 Subject: * process.c (security): always give warning for insecure PATH. * dir.c (my_getcwd): do not rely on MAXPATHLEN. * file.c (rb_file_s_readlink): ditto. * file.c (path_check_1): ditto. * eval.c (rb_yield_0): should not call rb_f_block_given_p(). * string.c (rb_str_chomp_bang): should terminate string by NUL. * eval.c (rb_yield_0): better error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'string.c') diff --git a/string.c b/string.c index 3981e54d01..183db6a7fe 100644 --- a/string.c +++ b/string.c @@ -291,6 +291,8 @@ rb_str_dup(str) } else if (RSTRING(str)->orig) { str2 = rb_str_new3(RSTRING(str)->orig); + FL_UNSET(str2, FL_TAINT); + OBJ_INFECT(str2, str); } else { str2 = rb_str_new3(rb_str_new4(str)); @@ -2673,13 +2675,15 @@ rb_str_chomp_bang(argc, argv, str) RSTRING(str)->ptr[RSTRING(str)->len-1] == '\r') { RSTRING(str)->len--; } - return str; } else if (RSTRING(str)->ptr[len-1] == '\r') { RSTRING(str)->len--; - return str; } - return Qnil; + else { + return Qnil; + } + RSTRING(str)->ptr[RSTRING(str)->len] = '\0'; + return str; } } if (NIL_P(rs)) return Qnil; -- cgit v1.2.3