[PATCH] libosmo-sccp[master]: osmo_ss7: Fix memory leak with sock_name on clients at re-co...

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue Apr 11 20:15:23 UTC 2017


Review at  https://gerrit.osmocom.org/2303

osmo_ss7: Fix memory leak with sock_name on clients at re-connect time

We cannot use osmo_talloc_replace_string() together with
osmo_sock_get_name(), as the latter already creates a dynamically
allocated string, and the former will then make a copy of that
allocation.

Change-Id: I6798221ccb3c70186c1c51dd34b7823fefd6df58
---
M src/osmo_ss7.c
1 file changed, 4 insertions(+), 4 deletions(-)


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

diff --git a/src/osmo_ss7.c b/src/osmo_ss7.c
index 79b0272..cf1948d 100644
--- a/src/osmo_ss7.c
+++ b/src/osmo_ss7.c
@@ -1242,7 +1242,9 @@
 	struct osmo_ss7_asp *asp = osmo_stream_cli_get_data(cli);
 
 	/* update the socket name */
-	osmo_talloc_replace_string(asp, &asp->sock_name, osmo_sock_get_name(asp, ofd->fd));
+	if (asp->sock_name)
+		talloc_free(asp->sock_name);
+	asp->sock_name = osmo_sock_get_name(asp, ofd->fd);
 
 	LOGPASP(asp, DLSS7, LOGL_INFO, "Client connected %s\n", asp->sock_name);
 
@@ -1537,9 +1539,7 @@
 osmo_ss7_xua_server_set_local_host(struct osmo_xua_server *xs, const char *local_host)
 {
 	OSMO_ASSERT(ss7_initialized);
-	if (xs->cfg.local.host)
-		talloc_free(xs->cfg.local.host);
-	xs->cfg.local.host = talloc_strdup(xs, local_host);
+	osmo_talloc_replace_string(xs, &xs->cfg.local.host, local_host);
 
 	osmo_stream_srv_link_set_addr(xs->server, xs->cfg.local.host);
 

-- 
To view, visit https://gerrit.osmocom.org/2303
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6798221ccb3c70186c1c51dd34b7823fefd6df58
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list