aboutsummaryrefslogtreecommitdiff
path: root/src/lj_debug.c
diff options
context:
space:
mode:
authorMike Pall <mike>2024-02-04 16:34:30 +0100
committerMike Pall <mike>2024-02-04 16:34:30 +0100
commitdefe61a56751a0db5f00ff3ab7b8f45436ba74c8 (patch)
treec9415344aea204341e4c2620d06e624c0209ce67 /src/lj_debug.c
parent9cdd5a9479d2265f42dfefc17d068174969bbcff (diff)
downloadluajit-defe61a56751a0db5f00ff3ab7b8f45436ba74c8.tar.gz
luajit-defe61a56751a0db5f00ff3ab7b8f45436ba74c8.tar.bz2
luajit-defe61a56751a0db5f00ff3ab7b8f45436ba74c8.zip
Rework stack overflow handling.
Reported by pwnhacker0x18. Fixed by Peter Cawley. #1152
Diffstat (limited to 'src/lj_debug.c')
-rw-r--r--src/lj_debug.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_debug.c b/src/lj_debug.c
index e6a8be54..bca1d7a5 100644
--- a/src/lj_debug.c
+++ b/src/lj_debug.c
@@ -63,6 +63,7 @@ static BCPos debug_framepc(lua_State *L, GCfunc *fn, cTValue *nextframe)
63 if (cf == NULL || (char *)cframe_pc(cf) == (char *)cframe_L(cf)) 63 if (cf == NULL || (char *)cframe_pc(cf) == (char *)cframe_L(cf))
64 return NO_BCPOS; 64 return NO_BCPOS;
65 ins = cframe_pc(cf); /* Only happens during error/hook handling. */ 65 ins = cframe_pc(cf); /* Only happens during error/hook handling. */
66 if (!ins) return NO_BCPOS;
66 } else { 67 } else {
67 if (frame_islua(nextframe)) { 68 if (frame_islua(nextframe)) {
68 ins = frame_pc(nextframe); 69 ins = frame_pc(nextframe);