diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-26 02:37:51 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-26 02:37:51 +0000 |
commit | 622f3f14b6928ee4fe3afa96db0250eb9da32e7a (patch) | |
tree | d0499f6a89c3ef88c857143f786425ec4279bc1e /string.c | |
parent | 73b59166d214719531d7228996d6a322a1518922 (diff) | |
download | ruby-622f3f14b6928ee4fe3afa96db0250eb9da32e7a.tar.gz |
string.c: terminate when embedded
* string.c (str_make_independent_expand): terminate String when
moved from heap to embedded. [Fix GH-821].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1593,6 +1593,7 @@ str_make_independent_expand(VALUE str, long expand) ptr = RSTRING(str)->as.heap.ptr; STR_SET_EMBED(str); memcpy(RSTRING(str)->as.ary, ptr, len); + RSTRING(str)->as.ary[len] = '\0'; /* Ensure string is terminated */ STR_SET_EMBED_LEN(str, len); return; } |