summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2006-05-29 20:31:39 +0000
committerMarius Vollmer <mvo@zagadka.de>2006-05-29 20:31:39 +0000
commit25daa4eb000e9196c1be7a6ffae56fc3d88b0654 (patch)
tree2b6bd1f6584939cfd18cdd79c982981019ca6ed5
parenta31d659ca3ea1e9d9cf7b0612f28540d380902cf (diff)
downloadguile-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.c3
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))
;