diff options
Diffstat (limited to 'src')
-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 5190f3fe..7683163c 100644 --- a/src/lib_base.c +++ b/src/lib_base.c | |||
@@ -141,6 +141,8 @@ LJLIB_CF(getfenv) | |||
141 | cTValue *o = L->base; | 141 | cTValue *o = L->base; |
142 | if (!(o < L->top && tvisfunc(o))) { | 142 | if (!(o < L->top && tvisfunc(o))) { |
143 | int level = lj_lib_optint(L, 1, 1); | 143 | int level = lj_lib_optint(L, 1, 1); |
144 | if (level < 0) | ||
145 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | ||
144 | o = lj_debug_frame(L, level, &level); | 146 | o = lj_debug_frame(L, level, &level); |
145 | if (o == NULL) | 147 | if (o == NULL) |
146 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | 148 | lj_err_arg(L, 1, LJ_ERR_INVLVL); |
@@ -162,6 +164,8 @@ LJLIB_CF(setfenv) | |||
162 | setgcref(L->env, obj2gco(t)); | 164 | setgcref(L->env, obj2gco(t)); |
163 | return 0; | 165 | return 0; |
164 | } | 166 | } |
167 | if (level < 0) | ||
168 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | ||
165 | o = lj_debug_frame(L, level, &level); | 169 | o = lj_debug_frame(L, level, &level); |
166 | if (o == NULL) | 170 | if (o == NULL) |
167 | lj_err_arg(L, 1, LJ_ERR_INVLVL); | 171 | lj_err_arg(L, 1, LJ_ERR_INVLVL); |