pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/43322?usp=email )
Change subject: ranap: Fix msgb leak on decode error paths ......................................................................
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(-)
Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified
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;