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;