Free memory pointed by tag2el, tag2el_cxer and source_file_name
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index b4cd736..dc74bc8 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -479,6 +479,8 @@
 
 	REDIR(OT_TYPE_DECLS);
 
+	if(tag2el) free(tag2el);
+
 	return 0;
 } /* _SEQUENCE_def() */
 
@@ -694,6 +696,9 @@
 
 	REDIR(OT_TYPE_DECLS);
 
+	if (tag2el) free(tag2el);
+	if (tag2el_cxer) free(tag2el_cxer);
+
 	return 0;
 } /* _SET_def() */
 
@@ -1028,6 +1033,8 @@
 
 	REDIR(OT_TYPE_DECLS);
 
+	if (tag2el) free(tag2el);
+
 	return 0;
 } /* _CHOICE_def() */
 
diff --git a/libasn1parser/asn1p_module.c b/libasn1parser/asn1p_module.c
index e7afb05..95ac50d 100644
--- a/libasn1parser/asn1p_module.c
+++ b/libasn1parser/asn1p_module.c
@@ -28,6 +28,7 @@
 		asn1p_expr_t *expr;
 
 		free(mod->ModuleName);
+		free(mod->source_file_name);
 
 		asn1p_oid_free(mod->module_oid);