summaryrefslogtreecommitdiff
path: root/libguile/control.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-07-28 18:17:45 +0200
committerAndy Wingo <wingo@pobox.com>2011-07-28 18:17:45 +0200
commit2b14df4bc7c317cb25a0bf7cb0bc35c18bb01898 (patch)
treeaa5a6fc38d4cbb367892302540992484c1fabb9b /libguile/control.c
parentbd61f2e64f745851ff6f0b477ade14a8c2880565 (diff)
downloadguile-2b14df4bc7c317cb25a0bf7cb0bc35c18bb01898.tar.gz
fix list validation bug in @abort
* libguile/control.c (scm_at_abort): Fix to ensure that we store the return of scm_ilength in a signed integer, even if later we copy it to an unsigned. See http://article.gmane.org/gmane.lisp.guile.devel/12685.
Diffstat (limited to 'libguile/control.c')
-rw-r--r--libguile/control.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/control.c b/libguile/control.c
index 9121d1791..661de8f4f 100644
--- a/libguile/control.c
+++ b/libguile/control.c
@@ -248,7 +248,8 @@ SCM_DEFINE (scm_at_abort, "@abort", 2, 0, 0, (SCM tag, SCM args),
#define FUNC_NAME s_scm_at_abort
{
SCM *argv;
- size_t i, n;
+ size_t i;
+ long n;
SCM_VALIDATE_LIST_COPYLEN (SCM_ARG2, args, n);
argv = alloca (sizeof (SCM)*n);