summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2017-02-12 18:02:53 +0100
committerAndy Wingo <wingo@pobox.com>2017-02-12 18:02:53 +0100
commit5048a8afbc00e3e0a65a5d2ffccfec666ec5a68b (patch)
treee049d7c8011f67ca35417ccff423fabf2f1a87f3 /libguile
parent710ebfddc6845237ada24300940967ebb6ae38c1 (diff)
downloadguile-5048a8afbc00e3e0a65a5d2ffccfec666ec5a68b.tar.gz
Avoid reading garbage from dynstack
* libguile/dynstack.c (push_dynstack_entry_unchecked): Reset top dynstack tag to prevent garbage.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/dynstack.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/dynstack.c b/libguile/dynstack.c
index 652d2b35a..1eb1dcf38 100644
--- a/libguile/dynstack.c
+++ b/libguile/dynstack.c
@@ -113,6 +113,7 @@ push_dynstack_entry_unchecked (scm_t_dynstack *dynstack,
SCM_DYNSTACK_SET_TAG (dynstack->top, SCM_MAKE_DYNSTACK_TAG (type, flags, len));
dynstack->top += SCM_DYNSTACK_HEADER_LEN + len;
+ SCM_DYNSTACK_SET_TAG (dynstack->top, 0);
SCM_DYNSTACK_SET_PREV_OFFSET (dynstack->top, SCM_DYNSTACK_HEADER_LEN + len);
return ret;