<p>osmith <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16845">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mdns_sock.c: fix resource leak of sock<br><br>Fixes: CID#207542<br>Change-Id: I0216b17c3ff67910a39520e2f2a5a16e23575a86<br>---<br>M src/mslookup/mdns_sock.c<br>1 file changed, 7 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mslookup/mdns_sock.c b/src/mslookup/mdns_sock.c</span><br><span>index 5291660..fbe6e82 100644</span><br><span>--- a/src/mslookup/mdns_sock.c</span><br><span>+++ b/src/mslookup/mdns_sock.c</span><br><span>@@ -84,7 +84,7 @@</span><br><span>        rc = setsockopt(sock, IPPROTO_IP, IP_MULTICAST_IF, (char*)&iface, sizeof(iface));</span><br><span>        if (rc == -1) {</span><br><span>              LOGP(DMSLOOKUP, LOGL_ERROR, "osmo_mdns_sock_init: setsockopt: %s\n", strerror(errno));</span><br><span style="color: hsl(0, 100%, 40%);">-                goto error;</span><br><span style="color: hsl(120, 100%, 40%);">+           goto error_sock;</span><br><span>     }</span><br><span>    memcpy(&multicast_req.imr_multiaddr, &((struct sockaddr_in*)(ret->ai->ai_addr))->sin_addr,</span><br><span>         sizeof(multicast_req.imr_multiaddr));</span><br><span>@@ -92,7 +92,7 @@</span><br><span>     rc = setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*)&multicast_req, sizeof(multicast_req));</span><br><span>      if (rc == -1) {</span><br><span>              LOGP(DMSLOOKUP, LOGL_ERROR, "osmo_mdns_sock_init: setsockopt: %s\n", strerror(errno));</span><br><span style="color: hsl(0, 100%, 40%);">-                goto error;</span><br><span style="color: hsl(120, 100%, 40%);">+           goto error_sock;</span><br><span>     }</span><br><span> </span><br><span>        /* Always allow binding the same IP and port twice. This is needed in OsmoHLR (where the code becomes cleaner by</span><br><span>@@ -102,20 +102,22 @@</span><br><span>     rc = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&y, sizeof(y));</span><br><span>  if (rc == -1) {</span><br><span>              LOGP(DMSLOOKUP, LOGL_ERROR, "osmo_mdns_sock_init: setsockopt: %s\n", strerror(errno));</span><br><span style="color: hsl(0, 100%, 40%);">-                goto error;</span><br><span style="color: hsl(120, 100%, 40%);">+           goto error_sock;</span><br><span>     }</span><br><span> </span><br><span>        /* Bind and register osmo_fd callback */</span><br><span>     rc = bind(sock, ret->ai->ai_addr, ret->ai->ai_addrlen);</span><br><span>  if (rc == -1) {</span><br><span>              LOGP(DMSLOOKUP, LOGL_ERROR, "osmo_mdns_sock_init: bind: %s\n", strerror(errno));</span><br><span style="color: hsl(0, 100%, 40%);">-              goto error;</span><br><span style="color: hsl(120, 100%, 40%);">+           goto error_sock;</span><br><span>     }</span><br><span>    osmo_fd_setup(&ret->osmo_fd, sock, OSMO_FD_READ, cb, data, priv_nr);</span><br><span>  if (osmo_fd_register(&ret->osmo_fd) != 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                goto error;</span><br><span style="color: hsl(120, 100%, 40%);">+           goto error_sock;</span><br><span> </span><br><span>         return ret;</span><br><span style="color: hsl(120, 100%, 40%);">+error_sock:</span><br><span style="color: hsl(120, 100%, 40%);">+      close(sock);</span><br><span> error:</span><br><span>       if (ret->ai)</span><br><span>              freeaddrinfo(ret->ai);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-hlr/+/16845">change 16845</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/c/osmo-hlr/+/16845"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-hlr </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I0216b17c3ff67910a39520e2f2a5a16e23575a86 </div>
<div style="display:none"> Gerrit-Change-Number: 16845 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>