diff --git a/src/hnbap_common.c b/src/hnbap_common.c
index 0bb08fe..d72ca3e 100644
--- a/src/hnbap_common.c
+++ b/src/hnbap_common.c
@@ -141,7 +141,7 @@
 					 Criticality_t criticality,
 					 asn_TYPE_descriptor_t * td, void *sptr)
 {
-
+	struct msgb *msg;
 	HNBAP_PDU_t pdu;
 	int rc;
 
@@ -156,7 +156,10 @@
 		return NULL;
 	}
 
-	return _hnbap_gen_msg(&pdu);
+	msg = _hnbap_gen_msg(&pdu);
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBAP_PDU, &pdu);
+
+	return msg;
 }
 
 struct msgb *hnbap_generate_successful_outcome(
@@ -165,7 +168,7 @@
 					   asn_TYPE_descriptor_t * td,
 					   void *sptr)
 {
-
+	struct msgb *msg;
 	HNBAP_PDU_t pdu;
 	int rc;
 
@@ -180,7 +183,10 @@
 		return NULL;
 	}
 
-	return _hnbap_gen_msg(&pdu);
+	msg = _hnbap_gen_msg(&pdu);
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBAP_PDU, &pdu);
+
+	return msg;
 }
 
 struct msgb *hnbap_generate_unsuccessful_outcome(
@@ -189,7 +195,7 @@
 					   asn_TYPE_descriptor_t * td,
 					   void *sptr)
 {
-
+	struct msgb *msg;
 	HNBAP_PDU_t pdu;
 	int rc;
 
@@ -204,7 +210,10 @@
 		return NULL;
 	}
 
-	return _hnbap_gen_msg(&pdu);
+	msg = _hnbap_gen_msg(&pdu);
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBAP_PDU, &pdu);
+
+	return msg;
 }
 
 IE_t *hnbap_new_ie(ProtocolIE_ID_t id,
@@ -214,7 +223,7 @@
 
 	IE_t *buff;
 
-	if ((buff = malloc(sizeof(IE_t))) == NULL) {
+	if ((buff = MALLOC(sizeof(IE_t))) == NULL) {
 		// Possible error on malloc
 		return NULL;
 	}
diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c
index 9378c7a..219169a 100644
--- a/src/hnbgw_hnbap.c
+++ b/src/hnbgw_hnbap.c
@@ -69,6 +69,8 @@
 					       &asn_DEF_HNBRegisterAccept,
 					       &accept_out);
 
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBRegisterAccept, &accept_out);
+
 	return hnbgw_hnbap_tx(ctx, msg);
 }
 
@@ -294,6 +296,8 @@
 
 	rc = _hnbgw_hnbap_rx(hnb, pdu);
 
+	ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_HNBAP_PDU, pdu);
+
 	return rc;
 }
 
