mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 03:30:27 +02:00
* Fix bug caused by frame size overflowing its field.
This commit is contained in:
parent
54737001bb
commit
020c890ccc
3 changed files with 11 additions and 2 deletions
|
@ -1,3 +1,12 @@
|
|||
2002-03-08 Neil Jerram <neil@ossau.uklinux.net>
|
||||
|
||||
* debug.h (SCM_MAX_FRAME_SIZE): Remove incorrect comment about use
|
||||
of SCM_MAX_FRAME_SIZE as a bit mask; it isn't used like this.
|
||||
|
||||
* eval.c (SCM_CEVAL): Don't store scm_debug_eframe_size in
|
||||
debug.status. It isn't needed, and it can overflow the bits
|
||||
reserved for it (which may lead to a segv or a GC abort).
|
||||
|
||||
2002-03-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||
|
||||
* eval.c (SCM_CEVAL): Cleaned up the handling of 'apply'. Removed
|
||||
|
|
|
@ -141,7 +141,7 @@ SCM_API scm_t_debug_frame *scm_last_debug_frame;
|
|||
#define SCM_TRACED_FRAME (1L << 8)
|
||||
#define SCM_ARGS_READY (1L << 7)
|
||||
#define SCM_DOVERFLOW (1L << 6)
|
||||
#define SCM_MAX_FRAME_SIZE 63 /* also used as a mask for the size field */
|
||||
#define SCM_MAX_FRAME_SIZE 63
|
||||
|
||||
#define SCM_FRAMETYPE (3L << 11)
|
||||
|
||||
|
|
|
@ -1899,7 +1899,7 @@ SCM_CEVAL (SCM x, SCM env)
|
|||
scm_t_debug_frame debug;
|
||||
scm_t_debug_info *debug_info_end;
|
||||
debug.prev = scm_last_debug_frame;
|
||||
debug.status = scm_debug_eframe_size;
|
||||
debug.status = 0;
|
||||
/*
|
||||
* The debug.vect contains twice as much scm_t_debug_info frames as the
|
||||
* user has specified with (debug-set! frames <n>).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue