Browse Source

Ensure correct stack top for OOM error message.

Reported by Sergey Kaplun.
Mike Pall 2 years ago
parent
commit
ca8d3257bb
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/lj_err.c

+ 1 - 0
src/lj_err.c

@@ -488,6 +488,7 @@ LJ_NOINLINE void lj_err_mem(lua_State *L)
 {
   if (L->status == LUA_ERRERR+1)  /* Don't touch the stack during lua_open. */
     lj_vm_unwind_c(L->cframe, LUA_ERRMEM);
+  if (curr_funcisL(L)) L->top = curr_topL(L);
   setstrV(L, L->top++, lj_err_str(L, LJ_ERR_ERRMEM));
   lj_err_throw(L, LUA_ERRMEM);
 }