summaryrefslogtreecommitdiff
path: root/libguile/objcodes.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-08-18 11:54:20 +0200
committerAndy Wingo <wingo@pobox.com>2011-08-18 12:53:28 +0200
commitfb031aba42d3b0d22538c50ef92a666496a8e326 (patch)
tree2cfd00b5c5d5580037116fcdac1d9a702429fb3d /libguile/objcodes.c
parent5261e74281b1150e3b2594c92e571d8887a4900d (diff)
downloadguile-fb031aba42d3b0d22538c50ef92a666496a8e326.tar.gz
fix a couple of leaks
* libguile/bytevectors.h: * libguile/bytevectors.c (scm_c_take_gc_bytevector): Rename this internal function, from scm_c_take_bytevector. This indicates that unlike the other scm_take_* functions, this one takes GC-managed memory. * libguile/objcodes.c (scm_objcode_to_bytecode): * libguile/vm.c (really_make_boot_program): Use scm_gc_malloc_pointerless, not scm_malloc. Thanks to Stefan Israelsson Tampe! * libguile/r6rs-ports.c: * libguile/strings.c: Adapt to renames.
Diffstat (limited to 'libguile/objcodes.c')
-rw-r--r--libguile/objcodes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/objcodes.c b/libguile/objcodes.c
index 526751acc..6223362f4 100644
--- a/libguile/objcodes.c
+++ b/libguile/objcodes.c
@@ -315,10 +315,10 @@ SCM_DEFINE (scm_objcode_to_bytecode, "objcode->bytecode", 1, 0, 0,
len = sizeof (struct scm_objcode) + SCM_OBJCODE_TOTAL_LEN (objcode);
- s8vector = scm_malloc (len);
+ s8vector = scm_gc_malloc_pointerless (len, FUNC_NAME);
memcpy (s8vector, SCM_OBJCODE_DATA (objcode), len);
- return scm_c_take_bytevector (s8vector, len);
+ return scm_c_take_gc_bytevector (s8vector, len);
}
#undef FUNC_NAME