pespin submitted this change.

View Change

Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified
sccp_sclc.c: Fix potential memory leak

If data_ie is not found, msgb will be leaked.

(cherry picked from commit a9271575181accf1476131e3a32a9272317efd40)
Change-Id: I21073484dd73ee536116d49301f508f0d32415c9
---
M src/sccp_sclc.c
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/sccp_sclc.c b/src/sccp_sclc.c
index 186efbd..6196d35 100644
--- a/src/sccp_sclc.c
+++ b/src/sccp_sclc.c
@@ -159,7 +159,7 @@
struct osmo_scu_prim *prim;
struct osmo_scu_unitdata_param *param;
struct xua_msg_part *data_ie = xua_msg_find_tag(xua, SUA_IEI_DATA);
- struct msgb *upmsg = sccp_msgb_alloc(__func__);
+ struct msgb *upmsg;
struct osmo_sccp_user *scu;
uint32_t protocol_class;

@@ -168,6 +168,7 @@
return -1;
}

+ upmsg = sccp_msgb_alloc(__func__);
/* fill primitive */
prim = (struct osmo_scu_prim *) msgb_put(upmsg, sizeof(*prim));
param = &prim->u.unitdata;
@@ -208,7 +209,7 @@
struct osmo_scu_prim *prim;
struct osmo_scu_notice_param *param;
struct xua_msg_part *data_ie = xua_msg_find_tag(xua, SUA_IEI_DATA);
- struct msgb *upmsg = sccp_msgb_alloc(__func__);
+ struct msgb *upmsg;
struct osmo_sccp_user *scu;

if (!data_ie) {
@@ -216,6 +217,7 @@
return -1;
}

+ upmsg = sccp_msgb_alloc(__func__);
/* fill primitive */
prim = (struct osmo_scu_prim *) msgb_put(upmsg, sizeof(*prim));
param = &prim->u.notice;

To view, visit change 40401. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: pespin/rel-2.1.0
Gerrit-Change-Id: I21073484dd73ee536116d49301f508f0d32415c9
Gerrit-Change-Number: 40401
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin@sysmocom.de>