diff options
Diffstat (limited to 'src/lib_base.c')
-rw-r--r-- | src/lib_base.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib_base.c b/src/lib_base.c index c1847ec3..5d1b88a9 100644 --- a/src/lib_base.c +++ b/src/lib_base.c | |||
@@ -146,6 +146,8 @@ LJLIB_CF(getfenv) LJLIB_REC(.) | |||
146 | cTValue *o = L->base; | 146 | cTValue *o = L->base; |
147 | if (!(o < L->top && tvisfunc(o))) { | 147 | if (!(o < L->top && tvisfunc(o))) { |
148 | int level = lj_lib_optint(L, 1, 1); | 148 | int level = lj_lib_optint(L, 1, 1); |
149 | if (level < 0) | ||
150 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | ||
149 | o = lj_debug_frame(L, level, &level); | 151 | o = lj_debug_frame(L, level, &level); |
150 | if (o == NULL) | 152 | if (o == NULL) |
151 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | 153 | lj_err_arg(L, 1, LJ_ERR_INVLVL); |
@@ -168,6 +170,8 @@ LJLIB_CF(setfenv) | |||
168 | setgcref(L->env, obj2gco(t)); | 170 | setgcref(L->env, obj2gco(t)); |
169 | return 0; | 171 | return 0; |
170 | } | 172 | } |
173 | if (level < 0) | ||
174 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | ||
171 | o = lj_debug_frame(L, level, &level); | 175 | o = lj_debug_frame(L, level, &level); |
172 | if (o == NULL) | 176 | if (o == NULL) |
173 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | 177 | lj_err_arg(L, 1, LJ_ERR_INVLVL); |