diff options
Diffstat (limited to 'lib/asn1/gen_free.c')
| -rw-r--r-- | lib/asn1/gen_free.c | 8 |
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)) |
