pespin submitted this change.
sccp_sclc.c: Fix potential memory leak
If data_ie is not found, msgb will be leaked.
Change-Id: I5acea9b98e590dcdea4b53f7588428a327b83046
---
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 e012114..9d424fa 100644
--- a/src/sccp_sclc.c
+++ b/src/sccp_sclc.c
@@ -185,7 +185,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;
@@ -194,6 +194,7 @@
return -1;
}
+ upmsg = sccp_msgb_alloc(__func__);
/* fill primitive */
prim = (struct osmo_scu_prim *) msgb_put(upmsg, sizeof(*prim));
param = &prim->u.unitdata;
@@ -234,7 +235,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) {
@@ -242,6 +243,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 40288. To unsubscribe, or for help writing mail filters, visit settings.