summaryrefslogtreecommitdiff
path: root/libguile/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc.c')
-rw-r--r--libguile/gc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index 0463cba46..d9d8dc890 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -1650,10 +1650,11 @@ scm_gc_sweep ()
break;
case scm_tc7_string:
m += SCM_HUGE_LENGTH (scmptr) + 1;
- goto freechars;
+ scm_must_free (SCM_STRING_CHARS (scmptr));
+ break;
case scm_tc7_symbol:
m += SCM_LENGTH (scmptr) + 1;
- scm_must_free (SCM_CHARS (scmptr));
+ scm_must_free (SCM_SYMBOL_CHARS (scmptr));
break;
case scm_tc7_contin:
m += SCM_LENGTH (scmptr) * sizeof (SCM_STACKITEM) + sizeof (scm_contregs);