summaryrefslogtreecommitdiff
path: root/string.c
AgeCommit message (Collapse)Author
2009-02-17merge revision(s) 20354:shyouhei
* string.c (str_independent): no independent string points null_str. [ruby-core:20082] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16merge revision(s) 20287:shyouhei
* string.c (rb_str_s_alloc, rb_str_replace): use null_str as well as rb_string_value so that extension libraries do not segfault. [ruby-core:19971] * string.c (rb_str_replace): reduced unnecessary malloc and copy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-17merge revision(s) 17719:shyouhei
* string.c (rb_str_format_m): make tmp volatile to avoid possible GC problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@18114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-30merge revision(s) 17530:shyouhei
* string.c (str_buf_cat): check for self concatenation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-20merge revision(s) 17483:shyouhei
* string.c (rb_str_buf_append): should infect. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-20merge revision(s) 17470:17472:shyouhei
* array.c (rb_ary_store, rb_ary_splice): not depend on unspecified behavior at integer overflow. * string.c (str_buf_cat): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19* array.c (ary_new, rb_ary_initialize, rb_ary_store,shyouhei
rb_ary_aplice, rb_ary_times): integer overflows should be checked. based on patches from Drew Yao <ayao at apple.com> fixed CVE-2008-2726 * string.c (rb_str_buf_append): fixed unsafe use of alloca, which led memory corruption. based on a patch from Drew Yao <ayao at apple.com> fixed CVE-2008-2726 * sprintf.c (rb_str_format): backported from trunk. * intern.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@17460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-06Merge changes from ruby_1_8 to reduce warnings and potentially improveknu
security. * mkconfig.rb: hide build path from rbconfig.rb. * util.c (ruby_strtod, dtoa): initialize more variables for error handling. * io.c (rscheck), marshal.c (w_nbyte, w_bytes, w_unique), (path2class, path2module): constified. * pack.c (pack_unpack), process.c (rb_syswait): suppress warnings. * suppress warnings on cygwin, mingw and mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-28Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-28Merge from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18Merge -r16241:16456 from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14* random.c (rb_genrand_int32, rb_genrand_real), intern.h: Export.knu
* string.c (rb_str_tmp_new), intern.h: New function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14* enum.c (enum_find, enum_reject): Return an enumerator if noknu
block is given. * io.c (rb_io_each_line, rb_io_each_byte, rb_io_s_foreach, argf_each_line, argf_each_byte): Ditto. * string.c (str_gsub): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14* string.c (rb_str_each_char): New methods: String#chars andknu
#each_char. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14* string.c (rb_str_each_line, rb_str_each_byte): Reflectknu
enumerator integration. #lines and #bytes are now aliases to #each_line and #each_byte, respectively. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14* string.c (rb_str_partition, rb_str_rpartition,knu
rb_str_start_with, rb_str_end_with): New methods: String#partition, #rpartition, #start_with? and #end_with?; backported from 1.9. These methods are $KCODE aware unlike #index, #rindex and #include?. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-27* string.c (rb_str_lines, rb_str_bytes): ditto.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-27* intern.h, string.c (rb_str_set_len): added for upgrading path fromnobu
1.8 to 1.9. [ruby-dev:32807] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-06* string.c (rb_str_to_i): update RDoc since base can be any valuematz
between 2 and 36. [ruby-talk:272879] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-23Sorry nobu, reverting r13473, which turned out to be a SEGV-generator.shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-20* string.c (str_alloc): defaults to null_str instead of NULL.nobu
[ruby-dev:31774] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-05* string.c (rb_str_splice): integer overflow for length.matz
[ruby-dev:31739] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-16* string.c (rb_str_rindex_m): accept string-like object convertiblenobu
with #to_str method, as well as rb_str_index_m. [ruby-core:11692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-30* string.c (rb_str_sub_bang): calling rb_str_modify() should be justusa
before actually modifying the string. fixed: [ruby-dev:30211] (originally reported by zunda) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-08* string.c (rb_str_upto): String#upto from empty string makesmatz
inifinite loop. [ruby-core:09864] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-03Revert r11453matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-03* io.c (ruby_dup): start GC on ENOMEM as well.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-11* string.c (rb_str_aset): index double decode problem.matz
[ruby-core:09695] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-22* string.c (rb_str_substr): should be infected with only originalnobu
string, but not the shared string. fixed: [ruby-core:09152] * strnig.c (rb_str_new4): keep shared string untainted when orignal string is tainted. fixed: [ruby-dev:29672] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-07* string.c (rb_str_scan): small documentation fix.matz
[ruby-core:09007] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-14* string.c (rb_str_intern): raise SecurityError only when $SAFEmatz
level is greater than zero. [ruby-core:08862] * parse.y (rb_interned_p): new function to check if a string is already interned. * object.c (str_to_id): use rb_str_intern(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-13* string.c (rb_str_intern): prohibit interning tainted string.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-31* ruby.h: use ifdef (or defined) for macro constants that may ormatz
may not be defined to shut up gcc's -Wundef warnings. [ruby-core:08447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-26* string.c (rb_str_scan): add string modification check.matz
[ruby-core:7216] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-11* string.c (rb_str_dump): need to extend len for \b.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-02* string.c (rb_str_inspect): encode \b (\010) for escape.matz
[ruby-dev:28927] * string.c (rb_str_dump): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-27* string.c: RDoc update for =~ method. a patch from Alex Youngmatz
<alex at blackkettle.org>. [ruby-core:08068] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-16* re.c (rb_reg_initialize): should not modify untainted objects inmatz
safe levels higher than 3. * re.c (rb_memcmp): type change from char* to const void*. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-27* string.c (scan_once): wrong condition to use mbclen2().matz
[ruby-dev:27535] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17* lib/cgi.rb (CGI::Cookie): should handle multiple values for amatz
cookie name. [ruby-talk:156140] * string.c (rb_str_substr): should propagate taintness even for empty strings. [ruby-dev:27121] * string.c (rb_str_aref): should infect result if range argument is tainted. [ruby-dev:27121] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-09* string.c (rb_str_times): make empty strings to keep taintness,nobu
and a little improvement. [ruby-dev:26900] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-20fixed error on rdoc generationocean
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-07* string.c (rb_str_cmp_m): should not return false but nil.matz
fixed: [ruby-dev:25811] * lib/cgi-lib.rb: add deprecation warning. [ruby-dev:25499] getopts.rb, parsearg.rb, importenv.rb as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-12* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check.matz
[ruby-dev:25675] * misc/ruby-mode.el: [ruby-core:04415] * lib/rdoc/generators/html_generator.rb: [ruby-core:04412] * lib/rdoc/generators/ri_generator.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-20* string.c (rb_str_new4): should propagate taintedness.matz
* struct.c (rb_struct_set): use original method name, not callee name, to retrieve member slot. [ruby-core:04268] * time.c (time_strftime): protect from format modification from GC finalizers. * gc.c (rb_data_object_alloc): klass may be NULL. [ruby-list:40498] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-29* string.c (rb_str_justify): [ruby-dev:25367]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-28* string.c (rb_str_justify): create buffer string after argument typenobu
conversion. fixed: [ruby-dev:25341] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-09* string.c (rb_str_inspect): escape # which starts an expressionnobu
substitution. fixed: [ruby-core:03922] * string.c (rb_str_dump): not escape # which isn't a substitution. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29* object.c (convert_type): [ruby-core:03845]matz
* eval.c (rb_funcall_rescue): new function. * object.c (rb_Array): avoid using rb_respond_to(). * object.c (rb_Integer): ditto. * eval.c (get_backtrace): no conversion for nil. * parse.y (reduce_nodes): empty body should return nil. * lib/cgi/session.rb (CGI::Session::initialize): [ruby-core:03832] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e