summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 0610455f1cb..7415581d63c 100644
--- a/eval.c
+++ b/eval.c
@@ -1539,8 +1539,10 @@ rb_mod_alias_method(mod, newname, oldname)
ALLOC_N(VALUE,n),tmp__protect_tmp,n), \
(void*)tmp__protect_tmp->nd_head)
# define TMP_PROTECT_END do {\
- rb_gc_force_recycle((VALUE)tmp__protect_tmp);\
- alloca(0);\
+ if (tmp__protect_tmp) {\
+ rb_gc_force_recycle((VALUE)tmp__protect_tmp);\
+ alloca(0);\
+ }\
} while (0)
#else
# define TMP_PROTECT typedef int foobazzz