lua Fix a few potential bugs
Change-Id: I0293371c58f1ca2d148b3b1e1f780cf76f312ef9
This commit is contained in:
parent
aad15d5cd7
commit
8c36d8b131
|
@ -803,8 +803,10 @@ static int panic (lua_State *L) {
|
|||
|
||||
LUALIB_API lua_State *luaL_newstate (void) {
|
||||
lua_State *L = lua_newstate(l_alloc, NULL);
|
||||
lua_setallocf(L, l_alloc, L); /* allocator needs lua_State. */
|
||||
if (L) lua_atpanic(L, &panic);
|
||||
if (L){
|
||||
lua_setallocf(L, l_alloc, L); /* allocator needs lua_State. */
|
||||
lua_atpanic(L, &panic);
|
||||
}
|
||||
return L;
|
||||
}
|
||||
|
||||
|
|
|
@ -96,7 +96,10 @@ static int math_floor (lua_State *L) {
|
|||
|
||||
static int math_fmod (lua_State *L) {
|
||||
/* Was: lua_pushnumber(L, fmod(luaL_checknumber(L, 1), luaL_checknumber(L, 2))); */
|
||||
lua_pushnumber(L, luaL_checknumber(L, 1) % luaL_checknumber(L, 2));
|
||||
lua_Number n = luaL_checknumber(L, 1);
|
||||
lua_Number d = luaL_checknumber(L, 2);
|
||||
luaL_argcheck(L, d != 0, 2, "division by zero");
|
||||
lua_pushnumber(L, n % d);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -359,6 +359,8 @@ static void open_func (LexState *ls, FuncState *fs) {
|
|||
|
||||
|
||||
static void close_func (LexState *ls) {
|
||||
if (!ls || !ls->fs || !ls->fs->f)
|
||||
return;
|
||||
lua_State *L = ls->L;
|
||||
FuncState *fs = ls->fs;
|
||||
Proto *f = fs->f;
|
||||
|
|
Loading…
Reference in New Issue