diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_state.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lj_state.c b/src/lj_state.c index 3cad8cc1..fb6d41a5 100644 --- a/src/lj_state.c +++ b/src/lj_state.c | |||
| @@ -261,7 +261,11 @@ LUA_API lua_State *lua_newstate(lua_Alloc allocf, void *allocd) | |||
| 261 | } | 261 | } |
| 262 | #endif | 262 | #endif |
| 263 | GG = (GG_State *)allocf(allocd, NULL, 0, sizeof(GG_State)); | 263 | GG = (GG_State *)allocf(allocd, NULL, 0, sizeof(GG_State)); |
| 264 | if (GG == NULL || !checkptrGC(GG)) return NULL; | 264 | if (GG == NULL) return NULL; |
| 265 | if (!checkptrGC(GG)) { | ||
| 266 | allocf(allocd, GG, sizeof(GG_State), 0); | ||
| 267 | return NULL; | ||
| 268 | } | ||
| 265 | memset(GG, 0, sizeof(GG_State)); | 269 | memset(GG, 0, sizeof(GG_State)); |
| 266 | L = &GG->L; | 270 | L = &GG->L; |
| 267 | g = &GG->g; | 271 | g = &GG->g; |
