Skip to content

Commit 13cfd79

Browse files
authored
Merge pull request #2002 from rouming/zbeacon-sock-leak
zbeacon: fix socket leak
2 parents 0cd4f2f + f71597e commit 13cfd79

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/zbeacon.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ s_self_destroy (self_t **self_p)
5656
self_t *self = *self_p;
5757
zframe_destroy (&self->transmit);
5858
zframe_destroy (&self->filter);
59-
if (self->udpsock) // don't close STDIN
59+
if (self->udpsock != INVALID_SOCKET)
6060
zsys_udp_close (self->udpsock);
61+
if (self->udpsock_send != INVALID_SOCKET)
62+
zsys_udp_close (self->udpsock_send);
6163
freen (self);
6264
*self_p = NULL;
6365
}
@@ -69,6 +71,8 @@ s_self_new (zsock_t *pipe)
6971
self_t *self = (self_t *) zmalloc (sizeof (self_t));
7072
assert (self);
7173
self->pipe = pipe;
74+
self->udpsock = INVALID_SOCKET;
75+
self->udpsock_send = INVALID_SOCKET;
7276
return self;
7377
}
7478

@@ -80,9 +84,9 @@ static void
8084
s_self_prepare_udp (self_t *self)
8185
{
8286
// Create our UDP socket
83-
if (self->udpsock)
87+
if (self->udpsock != INVALID_SOCKET)
8488
zsys_udp_close (self->udpsock);
85-
if (self->udpsock_send)
89+
if (self->udpsock_send != INVALID_SOCKET)
8690
zsys_udp_close (self->udpsock_send);
8791

8892
self->hostname [0] = 0;

0 commit comments

Comments
 (0)