diff options
author | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-25 08:33:41 +0000 |
---|---|---|
committer | ngoto <ngoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-25 08:33:41 +0000 |
commit | 7632a82d5750b7908bd173eda3268ecb0855b934 (patch) | |
tree | 1b69bb22e151b8f40e66a67626699ff2fbfb475e | |
parent | e13315da2f352643c356b4d754b728b21e770c13 (diff) | |
download | ruby-7632a82d5750b7908bd173eda3268ecb0855b934.tar.gz |
* gc.c (wmap_final_func): fix memory size shortage when realloc wmap.
Fix SEGV during finilize of WeakRef on Solaris (though the SEGV
could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gc.c | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Thu Dec 25 17:30:40 2014 Naohisa Goto <ngotogenome@gmail.com> + + * gc.c (wmap_final_func): fix memory size shortage when realloc wmap. + Fix SEGV during finilize of WeakRef on Solaris (though the SEGV + could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646] + Thu Dec 25 17:27:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (NET_LUID): include winsock2.h instead of windows.h. @@ -7672,7 +7672,7 @@ wmap_final_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing) return ST_DELETE; } if (j < i) { - ptr = ruby_sized_xrealloc2(ptr, j, sizeof(VALUE), i); + ptr = ruby_sized_xrealloc2(ptr, j + 1, sizeof(VALUE), i); ptr[0] = j; *value = (st_data_t)ptr; } |