diff options
author | Marius Vollmer <mvo@zagadka.de> | 2006-05-29 20:31:39 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 2006-05-29 20:31:39 +0000 |
commit | 25daa4eb000e9196c1be7a6ffae56fc3d88b0654 (patch) | |
tree | 2b6bd1f6584939cfd18cdd79c982981019ca6ed5 | |
parent | a31d659ca3ea1e9d9cf7b0612f28540d380902cf (diff) | |
download | guile-25daa4eb000e9196c1be7a6ffae56fc3d88b0654.tar.gz |
(scm_ithrow): When looking for the jmpbuf, first test that we have a
pair before accessing its cdr. Thanks to Bill Schottstaedt!
-rw-r--r-- | libguile/throw.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/throw.c b/libguile/throw.c index e2b9526c7..12c90b8d8 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -736,7 +736,8 @@ scm_ithrow (SCM key, SCM args, int noreturn SCM_UNUSED) abort (); for (wind_goal = scm_i_dynwinds (); - !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf); + (!scm_is_pair (SCM_CAR (wind_goal)) + || !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf)); wind_goal = SCM_CDR (wind_goal)) ; |