pespin submitted this change.
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.