diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-07-20 15:20:25 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-07-20 15:20:25 +0000 |
commit | 33c679ba9a5af00cc7243ace1d899e221df8a719 (patch) | |
tree | e2794a921f30efcb80b971720e009b9a76628c1a | |
parent | f50be7cba7be55294031b92cb24471958d3d1759 (diff) | |
download | ruby-33c679ba9a5af00cc7243ace1d899e221df8a719.tar.gz |
* gc.c (ruby_xrealloc): fix a dangling bug which led memory
reallocation to fail even though the second try after a GC
succeeds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gc.c | 3 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Fri Jul 20 22:55:01 2001 Akinori MUSHA <knu@iDaemons.org> + + * gc.c (ruby_xrealloc): fix a dangling bug which led memory + reallocation to fail even though the second try after a GC + succeeds. + Tue Jul 17 11:44:40 2001 Usaku Nakamura <usa@osb.att.ne.jp> * ruby.h: enable volatile directive with VC++. @@ -134,11 +134,12 @@ ruby_xrealloc(ptr, size) if (!mem) { rb_gc(); RUBY_CRITICAL(mem = realloc(ptr, size)); - if (!mem) + if (!mem) { if (size >= 50 * 1024 * 1024) { rb_raise(rb_eNoMemError, "tried to re-allocate too big memory"); } mem_error("failed to allocate memory(realloc)"); + } } return mem; |