Commit a085c04e authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

Don't crash if NULL is passed to mrb_close

Sometimes it is very useful just return from mrb_close if NULL is
passed as mrb.  This is the same spirit of free(3), which just does
nothing if NULL is passed.
parent eb9bec19
...@@ -234,6 +234,7 @@ mrb_free_context(mrb_state *mrb, struct mrb_context *c) ...@@ -234,6 +234,7 @@ mrb_free_context(mrb_state *mrb, struct mrb_context *c)
MRB_API void MRB_API void
mrb_close(mrb_state *mrb) mrb_close(mrb_state *mrb)
{ {
if (!mrb) return;
if (mrb->atexit_stack_len > 0) { if (mrb->atexit_stack_len > 0) {
mrb_int i; mrb_int i;
for (i = mrb->atexit_stack_len; i > 0; --i) { for (i = mrb->atexit_stack_len; i > 0; --i) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment