diff options
| author | Mike Pall <mike> | 2022-11-09 11:01:41 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2022-11-09 11:01:41 +0100 |
| commit | ca8d3257bb44e42100c7910c47dcdcf01f494187 (patch) | |
| tree | 26c283c6f8d4c7b8592df442c8044f3395dd4826 /src | |
| parent | 46e62cd963a426e83a60f691dcbbeb742c7b3ba2 (diff) | |
| download | luajit-ca8d3257bb44e42100c7910c47dcdcf01f494187.tar.gz luajit-ca8d3257bb44e42100c7910c47dcdcf01f494187.tar.bz2 luajit-ca8d3257bb44e42100c7910c47dcdcf01f494187.zip | |
Ensure correct stack top for OOM error message.
Reported by Sergey Kaplun.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_err.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_err.c b/src/lj_err.c index b677b655..d9783722 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
| @@ -488,6 +488,7 @@ LJ_NOINLINE void lj_err_mem(lua_State *L) | |||
| 488 | { | 488 | { |
| 489 | if (L->status == LUA_ERRERR+1) /* Don't touch the stack during lua_open. */ | 489 | if (L->status == LUA_ERRERR+1) /* Don't touch the stack during lua_open. */ |
| 490 | lj_vm_unwind_c(L->cframe, LUA_ERRMEM); | 490 | lj_vm_unwind_c(L->cframe, LUA_ERRMEM); |
| 491 | if (curr_funcisL(L)) L->top = curr_topL(L); | ||
| 491 | setstrV(L, L->top++, lj_err_str(L, LJ_ERR_ERRMEM)); | 492 | setstrV(L, L->top++, lj_err_str(L, LJ_ERR_ERRMEM)); |
| 492 | lj_err_throw(L, LUA_ERRMEM); | 493 | lj_err_throw(L, LUA_ERRMEM); |
| 493 | } | 494 | } |
