diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-29 11:17:55 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-03-29 11:17:55 +0000 |
commit | 5bfef93c44f00eb7028520e8437e0f957e3cd3b0 (patch) | |
tree | 0893f3fa58c0b7c9b4decdf1a25fd356db2cb98a | |
parent | 7c9b9e39bda0587e09d3198e55ea2189201c07b2 (diff) |
* pack.c (pack_pack): do not call rb_str_buf_cat() with NULL ptr,
which causes SEGV; jump to grow instead. [ruby-dev:19944]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | pack.c | 12 |
2 files changed, 13 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Sat Mar 29 17:54:46 2003 Yukihiro Matsumoto <matz@ruby-lang.org> + + * pack.c (pack_pack): do not call rb_str_buf_cat() with NULL ptr, + which causes SEGV; jump to grow instead. [ruby-dev:19944] + Sat Mar 29 15:19:48 2003 Tanaka Akira <akr@m17n.org> * instruby.rb, ext/extmk.rb, lib/benchmark.rb, lib/cgi.rb, @@ -489,7 +489,8 @@ pack_pack(ary, fmt) c = byte & 0xff; rb_str_buf_cat(res, &c, 1); } - rb_str_buf_cat(res, 0, j); + len = j; + goto grow; } break; @@ -518,7 +519,8 @@ pack_pack(ary, fmt) c = byte & 0xff; rb_str_buf_cat(res, &c, 1); } - rb_str_buf_cat(res, 0, j); + len = j; + goto grow; } break; @@ -548,7 +550,8 @@ pack_pack(ary, fmt) char c = byte & 0xff; rb_str_buf_cat(res, &c, 1); } - rb_str_buf_cat(res, 0, j); + len = 1; + goto grow; } break; @@ -578,7 +581,8 @@ pack_pack(ary, fmt) char c = byte & 0xff; rb_str_buf_cat(res, &c, 1); } - rb_str_buf_cat(res, 0, j); + len = j; + goto grow; } break; } |