BUG: lua_setfenv may crash if called over an invalid object

This commit is contained in:
Roberto Ierusalimschy
2007-11-28 16:27:38 -02:00
parent b4164a9aa7
commit abcc124df0
2 changed files with 23 additions and 2 deletions

21
bugs
View File

@@ -1594,6 +1594,27 @@ ltablib.c:
]],
}
Bug{
what = [[lua_setfenv may crash if called over an invalid object]],
report = [[Mike Pall, on 11/2007]],
since = [[5.1]],
example = [[
> debug.setfenv(3, {})
]],
patch = [[
lapi.c:
@@ -749,7 +749,7 @@
res = 0;
break;
}
- luaC_objbarrier(L, gcvalue(o), hvalue(L->top - 1));
+ if (res) luaC_objbarrier(L, gcvalue(o), hvalue(L->top - 1));
L->top--;
lua_unlock(L);
return res;
]],
}
Bug{
what = [[ ]],
report = [[ , on ]],