aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2014-05-12 14:35:30 +0200
committerMike Pall <mike>2014-05-12 14:35:30 +0200
commit624260f8318e0a64f4a128f0111a974230d5cb48 (patch)
tree5348627e6edbc65c250e85c2d357c99066fe1893 /src
parent29172880192471b12e699718a906ff1b9a270fe4 (diff)
downloadluajit-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.c4
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: