diff --git a/libguile/gc.c b/libguile/gc.c index e2a09ccc9..6e77235f7 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -1113,7 +1113,7 @@ scm_gc_sweep () if ((SCM_CDR (vcell) == 0) || (SCM_CDR (vcell) == 1)) { SCM *p = (SCM *) SCM_GCCDR (scmptr); - m += p[scm_struct_i_n_words] * sizeof (SCM); + m += (p[scm_struct_i_n_words] + 7) * sizeof (SCM); /* I feel like I'm programming in BCPL here... */ free ((char *) p[scm_struct_i_ptr]); }