Fix some memory leakage found
diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c
index 2ade9e9..42982c6 100644
--- a/libasn1parser/asn1parser.c
+++ b/libasn1parser/asn1parser.c
@@ -53,8 +53,10 @@
 
 	if(ret == 0) {
 		assert(a);
-		if(_asn1p_fix_modules(a, "-"))
+		if(_asn1p_fix_modules(a, "-")) {
+			asn1p_delete(a);
 			return NULL;	/* FIXME: destroy (a) */
+		}
 	} else if(a) {
 		asn1p_delete(a);
 		a = NULL;
@@ -110,8 +112,10 @@
 
 	if(ret == 0) {
 		assert(a);
-		if(_asn1p_fix_modules(a, filename))
+		if(_asn1p_fix_modules(a, filename)) {
+			asn1p_delete(a);
 			return NULL;	/* FIXME: destroy (a) */
+		}
 	} else if(a) {
 		asn1p_delete(a);
 		a = NULL;