From 5c7db5abef470bc6a0f2e3858a5fc75731c9f3bd Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org" Date: Thu, 17 Jan 2008 17:16:54 +0000 Subject: Max Kellermann : fix memory leaks in several error output paths --- src/mcast.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/mcast.c') diff --git a/src/mcast.c b/src/mcast.c index 185a7e2..9684b61 100644 --- a/src/mcast.c +++ b/src/mcast.c @@ -80,6 +80,8 @@ struct mcast_sock *mcast_server_create(struct mcast_conf *conf) if (ioctl(m->fd, SIOCGIFMTU, &ifr) == -1) { debug("ioctl"); + close(m->fd); + free(m); return NULL; } conf->mtu = ifr.ifr_mtu; @@ -201,6 +203,7 @@ struct mcast_sock *mcast_client_create(struct mcast_conf *conf) if ((m->fd = socket(conf->ipproto, SOCK_DGRAM, 0)) == -1) { debug("mcast_sock_client_create:socket"); + free(m); return NULL; } @@ -224,6 +227,7 @@ struct mcast_sock *mcast_client_create(struct mcast_conf *conf) } if (ret == -1) { + close(m->fd); free(m); m = NULL; } -- cgit v1.2.3