diff options
author | Kevin Ryde <user42@zip.com.au> | 2004-01-06 22:13:08 +0000 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2004-01-06 22:13:08 +0000 |
commit | 1382414987e0edb65b9eb2093db5194bc375ca25 (patch) | |
tree | 5469d71d2d375c80dbb9ce9a6bc9e495266f86bd /libguile/unif.c | |
parent | 524cbf64495687964422b77061373e501d211456 (diff) | |
download | guile-1382414987e0edb65b9eb2093db5194bc375ca25.tar.gz |
(scm_aind): Test SCM_CONSP rather than !SCM_NULLP while
traversing the args list, fixes segv if an improper list is given.
Reported by Rouben Rostamian.
Diffstat (limited to 'libguile/unif.c')
-rw-r--r-- | libguile/unif.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/unif.c b/libguile/unif.c index 7fc950f20..6c9b8506b 100644 --- a/libguile/unif.c +++ b/libguile/unif.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1997,1998,2000,2001,2004 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -473,7 +473,7 @@ scm_aind (SCM ra, SCM args, const char *what) scm_error_num_args_subr (what); return pos + (SCM_INUM (args) - s->lbnd) * (s->inc); } - while (k && !SCM_NULLP (args)) + while (k && SCM_CONSP (args)) { ind = SCM_CAR (args); args = SCM_CDR (args); |