proper freeing
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@861 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c
index 45f60c3..f6221a5 100644
--- a/libasn1parser/asn1parser.c
+++ b/libasn1parser/asn1parser.c
@@ -54,8 +54,9 @@
assert(a);
if(_asn1p_fix_modules(a, "-"))
return NULL; /* FIXME: destroy (a) */
- } else {
- assert(a == NULL);
+ } else if(a) {
+ asn1p_free(a);
+ a = NULL;
}
return a;
@@ -110,8 +111,8 @@
assert(a);
if(_asn1p_fix_modules(a, filename))
return NULL; /* FIXME: destroy (a) */
- } else {
- /* Not always true: assert(a == NULL); */
+ } else if(a) {
+ asn1p_free(a);
a = NULL;
}