diff options
author | Mike Pall <mike> | 2014-05-12 14:35:30 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2014-05-12 14:35:30 +0200 |
commit | 624260f8318e0a64f4a128f0111a974230d5cb48 (patch) | |
tree | 5348627e6edbc65c250e85c2d357c99066fe1893 /src | |
parent | 29172880192471b12e699718a906ff1b9a270fe4 (diff) | |
download | luajit-624260f8318e0a64f4a128f0111a974230d5cb48.tar.gz luajit-624260f8318e0a64f4a128f0111a974230d5cb48.tar.bz2 luajit-624260f8318e0a64f4a128f0111a974230d5cb48.zip |
Fix frame traversal while searching for error function.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_err.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_err.c b/src/lj_err.c index dc970840..3097795c 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -518,12 +518,14 @@ static ptrdiff_t finderrfunc(lua_State *L) | |||
518 | case FRAME_C: | 518 | case FRAME_C: |
519 | cf = cframe_prev(cf); | 519 | cf = cframe_prev(cf); |
520 | /* fallthrough */ | 520 | /* fallthrough */ |
521 | case FRAME_VARG: | ||
522 | frame = frame_prevd(frame); | ||
523 | break; | ||
521 | case FRAME_CONT: | 524 | case FRAME_CONT: |
522 | #if LJ_HASFFI | 525 | #if LJ_HASFFI |
523 | if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) | 526 | if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) |
524 | cf = cframe_prev(cf); | 527 | cf = cframe_prev(cf); |
525 | #endif | 528 | #endif |
526 | case FRAME_VARG: | ||
527 | frame = frame_prevd(frame); | 529 | frame = frame_prevd(frame); |
528 | break; | 530 | break; |
529 | case FRAME_CP: | 531 | case FRAME_CP: |