aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib_base.c4
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);