aboutsummaryrefslogtreecommitdiff
path: root/lib/asn1/gen_free.c
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2023-01-06 20:48:22 +0000
committerCy Schubert <cy@FreeBSD.org>2023-01-06 20:48:22 +0000
commit6f4e10db3298f6d65e1e646fe52aaafc3682b788 (patch)
tree0a8de0ec1173c00886bcde1c3b18e0963e5f2b83 /lib/asn1/gen_free.c
parentd5d1e8b157da7410fe13e6302f8e1bee81320bb5 (diff)
Diffstat (limited to 'lib/asn1/gen_free.c')
-rw-r--r--lib/asn1/gen_free.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/asn1/gen_free.c b/lib/asn1/gen_free.c
index b9cae7533b17..aa862c6f3afa 100644
--- a/lib/asn1/gen_free.c
+++ b/lib/asn1/gen_free.c
@@ -56,11 +56,19 @@ free_type (const char *name, const Type *t, int preserve)
free_primitive ("heim_integer", name);
break;
}
+ /* fallthrough */
case TBoolean:
case TEnumerated :
case TNull:
case TGeneralizedTime:
case TUTCTime:
+ /*
+ * This doesn't do much, but it leaves zeros where garbage might
+ * otherwise have been found. Gets us closer to having the equivalent
+ * of a memset()-to-zero data structure after calling the free
+ * functions.
+ */
+ fprintf(codefile, "*%s = 0;\n", name);
break;
case TBitString:
if (ASN1_TAILQ_EMPTY(t->members))