Browse Source

Fix frame traversal for __gc handler frames.

Reported by Changochen.
Mike Pall 5 years ago
parent
commit
53f82e6e2e
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/lj_err.c

+ 1 - 0
src/lj_err.c

@@ -529,6 +529,7 @@ static ptrdiff_t finderrfunc(lua_State *L)
       if (cframe_canyield(cf)) return 0;
       if (cframe_canyield(cf)) return 0;
       if (cframe_errfunc(cf) >= 0)
       if (cframe_errfunc(cf) >= 0)
 	return cframe_errfunc(cf);
 	return cframe_errfunc(cf);
+      cf = cframe_prev(cf);
       frame = frame_prevd(frame);
       frame = frame_prevd(frame);
       break;
       break;
     case FRAME_PCALL:
     case FRAME_PCALL: