diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-07-05 01:06:20 +0700 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-07-05 01:10:43 +0700 |
commit | f8b73f06827b00cc9b49a0edc5e550e22ffce474 (patch) | |
tree | c4ea25a46290d6dee1fcd3553f1fa57ae04008c4 | |
parent | f4223f5b5373aabf639c0d4dca0ca951bf087d5c (diff) |
gsup_server: fix msgb memleak in osmo_gsup_server_read_cb()
I noticed that inability to send IPA PONG in response to IPA PING
from osmo-{msc,sgsn} results in an "IPA Multiplex" chunk being leaked.
No matter what's returned from ipa_server_conn_ccm(), we need to free
the msgb containing the incoming IPA message.
Change-Id: I5c5acbffc2913f78db4894ae3633b5eca9c2e8d6
-rw-r--r-- | src/gsup_server.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gsup_server.c b/src/gsup_server.c index 097a854..91110eb 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -179,11 +179,9 @@ static int osmo_gsup_server_read_cb(struct ipa_server_conn *conn, if (hh->proto == IPAC_PROTO_IPACCESS) { rc = ipa_server_conn_ccm(conn, msg); - if (rc < 0) { - /* conn is already invalid here! */ - return -1; - } msgb_free(msg); + if (rc < 0) /* conn is already invalid here! */ + return -1; return 0; } |