lynxis lazus has uploaded this change for review.
rspro_util: asn1 decode: fix memleak when decoding fails
Change-Id: I071343d0134dbffb1bb71ea26a5b514be1b5bb27
---
M src/rspro_util.c
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/05/42705/1
diff --git a/src/rspro_util.c b/src/rspro_util.c
index 23bb839..5e4ab17 100644
--- a/src/rspro_util.c
+++ b/src/rspro_util.c
@@ -66,6 +66,8 @@
msg->l2h = msg->data;
rval = der_encode_to_buffer(&asn_DEF_RsproPDU, pdu, msgb_data(msg), msgb_tailroom(msg));
if (rval.encoded < 0) {
+ if (pdu)
+ ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
LOGP(DRSPRO, LOGL_ERROR, "Failed to encode %s\n", rval.failed_type->name);
msgb_free(msg);
return NULL;
@@ -86,6 +88,8 @@
LOGP(DRSPRO, LOGL_DEBUG, "decoding %s\n", msgb_hexdump(msg));
rval = ber_decode(NULL, &asn_DEF_RsproPDU, (void **) &pdu, msgb_l2(msg), msgb_l2len(msg));
if (rval.code != RC_OK) {
+ if (pdu)
+ ASN_STRUCT_FREE(asn_DEF_RsproPDU, pdu);
LOGP(DRSPRO, LOGL_ERROR, "Failed to decode: %d. Consumed %zu of %u bytes\n",
rval.code, rval.consumed, msgb_length(msg));
return NULL;
To view, visit change 42705. To unsubscribe, or for help writing mail filters, visit settings.