|
@@ -261,7 +261,11 @@ LUA_API lua_State *lua_newstate(lua_Alloc allocf, void *allocd)
|
|
|
}
|
|
}
|
|
|
#endif
|
|
#endif
|
|
|
GG = (GG_State *)allocf(allocd, NULL, 0, sizeof(GG_State));
|
|
GG = (GG_State *)allocf(allocd, NULL, 0, sizeof(GG_State));
|
|
|
- if (GG == NULL || !checkptrGC(GG)) return NULL;
|
|
|
|
|
|
|
+ if (GG == NULL) return NULL;
|
|
|
|
|
+ if (!checkptrGC(GG)) {
|
|
|
|
|
+ allocf(allocd, GG, sizeof(GG_State), 0);
|
|
|
|
|
+ return NULL;
|
|
|
|
|
+ }
|
|
|
memset(GG, 0, sizeof(GG_State));
|
|
memset(GG, 0, sizeof(GG_State));
|
|
|
L = &GG->L;
|
|
L = &GG->L;
|
|
|
g = &GG->g;
|
|
g = &GG->g;
|