diff options
author | Mike Pall <mike> | 2020-07-12 14:30:34 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-07-12 14:30:34 +0200 |
commit | 53f82e6e2e858a0a62fd1a2ff47e9866693382e6 (patch) | |
tree | 49a2ecfc6e046c191f65771b40b07fa57ee890f6 | |
parent | f5b0fff5a990004375ad43aa6e6c4a11a8b6eb7e (diff) | |
download | luajit-53f82e6e2e858a0a62fd1a2ff47e9866693382e6.tar.gz luajit-53f82e6e2e858a0a62fd1a2ff47e9866693382e6.tar.bz2 luajit-53f82e6e2e858a0a62fd1a2ff47e9866693382e6.zip |
Fix frame traversal for __gc handler frames.
Reported by Changochen.
-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 caa7487f..e3e0c2eb 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -529,6 +529,7 @@ static ptrdiff_t finderrfunc(lua_State *L) | |||
529 | if (cframe_canyield(cf)) return 0; | 529 | if (cframe_canyield(cf)) return 0; |
530 | if (cframe_errfunc(cf) >= 0) | 530 | if (cframe_errfunc(cf) >= 0) |
531 | return cframe_errfunc(cf); | 531 | return cframe_errfunc(cf); |
532 | cf = cframe_prev(cf); | ||
532 | frame = frame_prevd(frame); | 533 | frame = frame_prevd(frame); |
533 | break; | 534 | break; |
534 | case FRAME_PCALL: | 535 | case FRAME_PCALL: |