aboutsummaryrefslogtreecommitdiff
path: root/lib/asn1/gen_free.c
diff options
context:
space:
mode:
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))