Change in libosmo-sccp[master]: fix memleaks in mtp_user_prim_cb()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Wed Jul 11 03:20:05 UTC 2018


Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/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(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/57/9957/1

diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c
index 3de986d..d7e1d08 100644
--- a/src/sccp_scoc.c
+++ b/src/sccp_scoc.c
@@ -1316,7 +1316,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 */
@@ -1354,7 +1353,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 99ed96e..ab9cb64 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/9957
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I72b3c6a6f57ba32d9ba191af33b4b236492174e0
Gerrit-Change-Number: 9957
Gerrit-PatchSet: 1
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180711/82abb58a/attachment.htm>


More information about the gerrit-log mailing list