summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-06-25 06:32:19 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-06-25 06:32:19 -0700
commitfe28f0759672844ae50eb8375af11fd791dc4de1 (patch)
tree75cc9d62ae2b7904e56957b492ce5cf02e481b33
parentbd4f590287953ab904a014764790feccb88becc9 (diff)
downloadtxr-fe28f0759672844ae50eb8375af11fd791dc4de1.tar.gz
txr-fe28f0759672844ae50eb8375af11fd791dc4de1.tar.bz2
txr-fe28f0759672844ae50eb8375af11fd791dc4de1.zip
ffi: fix leak in new union code.
* ffi.c (make_ffi_type_union): Create cobj with correct cobj_ops structure: ffi_type_struct_ops, not ffi_type_enum_ops.
-rw-r--r--ffi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ffi.c b/ffi.c
index 0600f83b..f9a20cbc 100644
--- a/ffi.c
+++ b/ffi.c
@@ -2942,7 +2942,7 @@ static val make_ffi_type_union(val syntax, val lisp_type,
cnum nmemb = c_num(length(types)), i;
struct smemb *memb = coerce(struct smemb *,
chk_calloc(nmemb, sizeof *memb));
- val obj = cobj(coerce(mem_t *, tft), ffi_type_s, &ffi_type_enum_ops);
+ val obj = cobj(coerce(mem_t *, tft), ffi_type_s, &ffi_type_struct_ops);
ucnum most_align = 0;
ucnum biggest_size = 0;
const unsigned bits_int = 8 * sizeof(int);