diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-17 03:26:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-04-17 03:26:21 +0000 |
commit | b3626b3ee7d814e23016a4c639aa05e51fea5a8b (patch) | |
tree | 64440fac4098e288e6294b0e282512f585ab2fb4 /string.c | |
parent | b8858232f20ac6ac1d376dd79ee0e67b485a67d0 (diff) | |
download | ruby-b3626b3ee7d814e23016a4c639aa05e51fea5a8b.tar.gz |
string.c: expand heap
* string.c (str_buf_cat): expand the heap buffer at making
str independent, not only just copying.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -2194,7 +2194,7 @@ str_buf_cat(VALUE str, const char *ptr, long len) if (ptr >= sptr && ptr <= sptr + olen) { off = ptr - sptr; } - rb_str_modify(str); + rb_str_modify_expand(str, len); if (len == 0) return 0; if (STR_EMBED_P(str)) { capa = RSTRING_EMBED_LEN_MAX; |