summaryrefslogtreecommitdiffhomepage
path: root/src/pool.c
diff options
context:
space:
mode:
authorTatsuhiko Kubo <[email protected]>2014-08-20 05:07:40 +0900
committerTatsuhiko Kubo <[email protected]>2014-08-20 05:07:40 +0900
commit5ee00453e00d69c17a8c92db56e61ec042665cb0 (patch)
treec0b4653386c000ec4d90df06d95a0dad3b5bf3f9 /src/pool.c
parentd49f8517a6d2350eb1ed2642749f3994a9a2d056 (diff)
downloadmruby-5ee00453e00d69c17a8c92db56e61ec042665cb0.tar.gz
mruby-5ee00453e00d69c17a8c92db56e61ec042665cb0.zip
Fix error handling for mrb_pool_realloc().
mrb_pool_alloc() may return NULL.
Diffstat (limited to 'src/pool.c')
-rw-r--r--src/pool.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pool.c b/src/pool.c
index 4d8c42dd1..ffddd2552 100644
--- a/src/pool.c
+++ b/src/pool.c
@@ -166,6 +166,9 @@ mrb_pool_realloc(mrb_pool *pool, void *p, size_t oldlen, size_t newlen)
page = page->next;
}
np = mrb_pool_alloc(pool, newlen);
+ if (np == NULL) {
+ return NULL;
+ }
memcpy(np, p, oldlen);
return np;
}