laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmo-sccp/+/9957 )

Change subject: fix memleaks in mtp_user_prim_cb()
......................................................................

fix memleaks in mtp_user_prim_cb()

After dispatching to scrc_rx_mtp_xfer_ind_xua(), free the xua_msg.

Do not free the xua_msg in any of the code paths triggered within
scrc_rx_mtp_xfer_ind_xua(), i.e. remove xua_msg_free() from:
sccp_scoc_rx_from_scrc()
 +->sccp_scoc_rx_unass_local_ref()
     +->tx_coerr_from_xua()
     +->tx_relco_from_xua()

Before this, some code paths would free the xua_msg, while most code paths
would not, causing mem leaks.

Change-Id: I72b3c6a6f57ba32d9ba191af33b4b236492174e0
---
M src/sccp_scoc.c
M src/sccp_user.c
2 files changed, 1 insertion(+), 2 deletions(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved
  laforge: Looks good to me, but someone else must approve



diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c
index 7570764..e2768ea 100644
--- a/src/sccp_scoc.c
+++ b/src/sccp_scoc.c
@@ -1413,7 +1413,6 @@

        /* sent to SCRC for transmission */
        sccp_scrc_rx_scoc_conn_msg(inst, xua);
-       xua_msg_free(xua);
 }

 /* Generate a RELCO based in input arguments */
@@ -1451,7 +1450,6 @@

        /* send to SCRC for transmission */
        sccp_scrc_rx_scoc_conn_msg(inst, xua);
-       xua_msg_free(xua);
 }

 /* Generate a RLSD based in input arguments */
diff --git a/src/sccp_user.c b/src/sccp_user.c
index 929445f..49cc212 100644
--- a/src/sccp_user.c
+++ b/src/sccp_user.c
@@ -174,6 +174,7 @@
                xua->mtp = omp->u.transfer;
                /* hand this primitive into SCCP via the SCRC code */
                rc = scrc_rx_mtp_xfer_ind_xua(inst, xua);
+               xua_msg_free(xua);
                break;
        default:
                LOGP(DLSCCP, LOGL_ERROR, "Unknown primitive %u:%u receivd\n",

--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/9957
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I72b3c6a6f57ba32d9ba191af33b4b236492174e0
Gerrit-Change-Number: 9957
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: neels <nhofm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to