laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-pcap/+/42844?usp=email )
Change subject: server: fix msgb leak on duplicate link header
......................................................................
server: fix msgb leak on duplicate link header
rx_link_hdr() takes ownership of msg on success (rx_link() only frees
it on failure). Both branches that call update_conn_file_hdr_msg()
free msg, but when an identical link header was already stored neither
branch ran and msg was leaked.
This happens on every duplicate PKT_LINK_HDR, e.g. a client that
periodically resends its header. Free msg explicitly in that case.
Change-Id: I79344fe942342f2a736878142b3cf036fc982eef
AI-Assisted: yes (Claude)
---
M src/osmo_server_network.c
1 file changed, 3 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c
index 6c0e609..81ad74e 100644
--- a/src/osmo_server_network.c
+++ b/src/osmo_server_network.c
@@ -173,6 +173,9 @@
memcmp(msgb_l2(conn->file_hdr_msg), msgb_l2(msg),
msgb_l2len(msg)) != 0) {
/* Client changed the link hdr in conn */
update_conn_file_hdr_msg(conn, msg);
+ } else {
+ /* Identical link hdr already stored, nothing to do but free
msg */
+ msgb_free(msg);
}
return 1;
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/42844?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I79344fe942342f2a736878142b3cf036fc982eef
Gerrit-Change-Number: 42844
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>