<p>Vadim Yanitskiy has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13953">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">libmsc/ran_peer.c: fix msgb memleak in ran_peer_rx_reset()<br><br>It was noticed that SCCP_RAN_MSG_RESET_ACK message is not freed after<br>sending. Since ran_peer_rx_reset() calls sccp_ran_down_l2_cl(), which<br>then calls osmo_sccp_user_sap_down_nofree(), which doesn't free the<br>message buffer (what's clear from its name).<br><br>  OsmoMSC# show talloc-context application full filter msgb<br>  full talloc report on 'osmo_msc' (total  20155 bytes in  88 blocks)<br>    msgb                  contains   4640 bytes in   5 blocks (ref 0)<br>      bssmap: reset ack   contains   1160 bytes in   1 blocks (ref 0)<br>      bssmap: reset ack   contains   1160 bytes in   1 blocks (ref 0)<br>      bssmap: reset ack   contains   1160 bytes in   1 blocks (ref 0)<br><br>Let's free it after sending (or in case of error).<br><br>Change-Id: Ic174f6eecd6254af597dfbdc1c9e3d65716f0a76<br>---<br>M src/libmsc/ran_peer.c<br>1 file changed, 4 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/13953/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libmsc/ran_peer.c b/src/libmsc/ran_peer.c</span><br><span>index ac2bb4f..40040a2 100644</span><br><span>--- a/src/libmsc/ran_peer.c</span><br><span>+++ b/src/libmsc/ran_peer.c</span><br><span>@@ -140,11 +140,15 @@</span><br><span>      if (sccp_ran_down_l2_cl(rp->sri, &rp->peer_addr, reset_ack)) {</span><br><span>             LOG_RAN_PEER(rp, LOGL_ERROR, "Failed to send RESET ACKNOWLEDGE message\n");</span><br><span>                ran_peer_state_chg(rp, RAN_PEER_ST_WAIT_RX_RESET);</span><br><span style="color: hsl(120, 100%, 40%);">+            msgb_free(reset_ack);</span><br><span>                return;</span><br><span>      }</span><br><span> </span><br><span>        LOG_RAN_PEER(rp, LOGL_INFO, "Sent RESET ACKNOWLEDGE\n");</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        /* sccp_ran_down_l2_cl() doesn't free msgb */</span><br><span style="color: hsl(120, 100%, 40%);">+     msgb_free(reset_ack);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>      ran_peer_state_chg(rp, RAN_PEER_ST_READY);</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13953">change 13953</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13953"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ic174f6eecd6254af597dfbdc1c9e3d65716f0a76 </div>
<div style="display:none"> Gerrit-Change-Number: 13953 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>