diff options
| author | kano4 <[email protected]> | 2013-03-13 22:24:06 +0900 |
|---|---|---|
| committer | kano4 <[email protected]> | 2013-03-13 22:24:06 +0900 |
| commit | 718a748799f896e6dc943494e3e7a66a48cb8d30 (patch) | |
| tree | cb7aa27af7a944d342383811d3798309b2745813 | |
| parent | c9f3fd477912fa4a822f750fc15df77841828d44 (diff) | |
| download | mruby-718a748799f896e6dc943494e3e7a66a48cb8d30.tar.gz mruby-718a748799f896e6dc943494e3e7a66a48cb8d30.zip | |
Add null check
| -rw-r--r-- | src/state.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/state.c b/src/state.c index b6805a4a4..efb6d66b1 100644 --- a/src/state.c +++ b/src/state.c @@ -53,6 +53,7 @@ mrb_alloca(mrb_state *mrb, size_t size) struct alloca_header *p; p = (struct alloca_header*) mrb_malloc(mrb, sizeof(struct alloca_header)+size); + if (p == NULL) return NULL; p->next = mrb->mems; mrb->mems = p; return (void*)p->buf; @@ -61,9 +62,12 @@ mrb_alloca(mrb_state *mrb, size_t size) static void mrb_alloca_free(mrb_state *mrb) { - struct alloca_header *p = mrb->mems; + struct alloca_header *p; struct alloca_header *tmp; + if (mrb == NULL) return NULL; + p = mrb->mems; + while (p) { tmp = p; p = p->next; |
