pespin submitted this change.
ranap: Fix msgb leak on decode error paths
Related: osmo-iuh.git Change-Id I58ef8f227d177dc1e99d2c342dd7d5fd6e5b3747
Change-Id: I4dcd7efc39c3cde052bbd258e4bdd3d13ccf7467
---
M src/sgsn/gprs_ranap.c
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c
index 4445235..70b1260 100644
--- a/src/sgsn/gprs_ranap.c
+++ b/src/sgsn/gprs_ranap.c
@@ -379,11 +379,13 @@
if (ranap_parse_lai(&ra_id, &ies->lai) != 0) {
LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n");
+ msgb_free(msg);
return -1;
}
if (!(ies->presenceMask & INITIALUE_MESSAGEIES_RANAP_RAC_PRESENT)) {
LOGP(DRANAP, LOGL_ERROR, "Rejecting InitialUE msg without RAC IE\n");
+ msgb_free(msg);
return -1;
}
@@ -391,12 +393,14 @@
if (ra_id.rac == OSMO_RESERVED_RAC) {
LOGP(DRANAP, LOGL_ERROR,
"Rejecting RNC with invalid/internally used RAC 0x%02x\n", ra_id.rac);
+ msgb_free(msg);
return -1;
}
if (iu_grnc_id_parse(&rnc_id, &ies->globalRNC_ID) != 0) {
LOGP(DRANAP, LOGL_ERROR,
"Failed to parse RANAP Global-RNC-ID IE\n");
+ msgb_free(msg);
return -1;
}
@@ -493,6 +497,7 @@
if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_LAI_PRESENT) {
if (ranap_parse_lai(&_ra_id, &ies->lai) != 0) {
LOGP(DRANAP, LOGL_ERROR, "Failed to parse RANAP LAI IE\n");
+ msgb_free(msg);
return -1;
}
ra_id = &_ra_id;
To view, visit change 43322. To unsubscribe, or for help writing mail filters, visit settings.