ruby-changes:36918
From: ngoto <ko1@a...>
Date: Thu, 25 Dec 2014 17:33:48 +0900 (JST)
Subject: [ruby-changes:36918] ngoto:r48999 (trunk): * gc.c (wmap_final_func): fix memory size shortage when realloc wmap.
ngoto 2014-12-25 17:33:41 +0900 (Thu, 25 Dec 2014) New Revision: 48999 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=48999 Log: * 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] Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 48998) +++ ChangeLog (revision 48999) @@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Thu Dec 25 17:30:40 2014 Naohisa Goto <ngotogenome@g...> + + * 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@r...> * configure.in (NET_LUID): include winsock2.h instead of windows.h. Index: gc.c =================================================================== --- gc.c (revision 48998) +++ gc.c (revision 48999) @@ -7672,7 +7672,7 @@ wmap_final_func(st_data_t *key, st_data_ https://github.com/ruby/ruby/blob/trunk/gc.c#L7672 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; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/