From a835b9053d5f826fcbcdd0e69bc85591e4185abe Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 28 Jan 2022 12:15:28 -0500 Subject: [PATCH] lib/asn1: generate_type_free heim_release not heim_retain Do not leak the object when the intent is to free it. Introduced by 40d127109408ebef1dccbcd41c1c4b38efe83213 ("asn1: Expand decoration w/ C types") Change-Id: If8cd502f61d6f9b72118630839525933911c6697 --- lib/asn1/gen_free.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/asn1/gen_free.c b/lib/asn1/gen_free.c index bfb88ea6e..f0d282038 100644 --- a/lib/asn1/gen_free.c +++ b/lib/asn1/gen_free.c @@ -191,7 +191,7 @@ generate_type_free (const Symbol *s) free_type ("data", s->type, preserve); while (decorate_type(s->gen_name, &deco, &more_deco)) { if (deco.heim_object) { - fprintf(codefile, "heim_retain((data)->%s);\n", deco.field_name); + fprintf(codefile, "heim_release((data)->%s);\n", deco.field_name); fprintf(codefile, "(data)->%s = 0;\n", deco.field_name); } else if (deco.ext && deco.free_function_name == NULL) { /* Decorated with field of external type but no free function */