summaryrefslogtreecommitdiffstats
path: root/byterun/debugger.c
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2002-10-22 12:30:03 +0000
committerDamien Doligez <damien.doligez-inria.fr>2002-10-22 12:30:03 +0000
commit8e2eca21460b3a6b052a8ebce30e1fce14f24834 (patch)
tree22f683e6734c54f89502fa2a9d17ad772f851c59 /byterun/debugger.c
parent9d2e1355c5aa1d8b724aae6596d33a7f8d70dab1 (diff)
fix: SEGV lecture en dehors de la pile (sur PROGRAM_EXIT)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5186 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/debugger.c')
-rw-r--r--byterun/debugger.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/byterun/debugger.c b/byterun/debugger.c
index d650f2a7b..f5285df7a 100644
--- a/byterun/debugger.c
+++ b/byterun/debugger.c
@@ -258,7 +258,11 @@ void debugger(enum event_kind event)
/* Fall through */
case REQ_GET_FRAME:
putword(dbg_out, stack_high - frame);
- putword(dbg_out, (Pc(frame) - start_code) * sizeof(opcode_t));
+ if (frame < stack_high){
+ putword(dbg_out, (Pc(frame) - start_code) * sizeof(opcode_t));
+ }else{
+ putword (dbg_out, 0);
+ }
flush(dbg_out);
break;
case REQ_SET_FRAME: