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;
 	}