summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-01 07:41:55 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-01 07:41:55 +0000
commit83f1241ad5a791df2c2dfbf0be3a316e37c70c67 (patch)
treee34fa746a270b1fa844ef2ed7ca2d15ff442d643 /thread.c
parent195d3bcc86337215734959075b0f9f0c6999ec31 (diff)
merges r28457 from trunk into ruby_1_9_2.
-- * thread.c (rb_fd_resize, rb_fd_copy): avoid NULL dereference upon failed realloc by using xrealloc instead of not realloc. a patch from Jim Meyering <meyering at redhat.com> in [ruby-core:30920] [Bug #3489] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/thread.c b/thread.c
index 0b36f15bcb..aa6ecede07 100644
--- a/thread.c
+++ b/thread.c
@@ -2285,7 +2285,7 @@ rb_fd_resize(int n, rb_fdset_t *fds)
if (o < sizeof(fd_set)) o = sizeof(fd_set);
if (m > o) {
- fds->fdset = realloc(fds->fdset, m);
+ fds->fdset = xrealloc(fds->fdset, m);
memset((char *)fds->fdset + o, 0, m - o);
}
if (n >= fds->maxfd) fds->maxfd = n + 1;
@@ -2319,7 +2319,7 @@ rb_fd_copy(rb_fdset_t *dst, const fd_set *src, int max)
if (size < sizeof(fd_set)) size = sizeof(fd_set);
dst->maxfd = max;
- dst->fdset = realloc(dst->fdset, size);
+ dst->fdset = xrealloc(dst->fdset, size);
memcpy(dst->fdset, src, size);
}