diff options
author | 2004-02-02 23:17:34 +0000 | |
---|---|---|
committer | 2004-02-02 23:17:34 +0000 | |
commit | efc326516abec0286fc740fa82da0a9207d4294f (patch) | |
tree | 4d60ae7097ede10d299ddd613c77b96514e7c13c | |
parent | 2 missing returns in error pathes (diff) | |
download | wireguard-openbsd-efc326516abec0286fc740fa82da0a9207d4294f.tar.xz wireguard-openbsd-efc326516abec0286fc740fa82da0a9207d4294f.zip |
close socket on error in control_init
From: Patrick Latifi <pat@eyeo.org>
-rw-r--r-- | usr.sbin/bgpd/control.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/control.c b/usr.sbin/bgpd/control.c index e00289e959c..005d75c7138 100644 --- a/usr.sbin/bgpd/control.c +++ b/usr.sbin/bgpd/control.c @@ -1,4 +1,4 @@ -/* $OpenBSD: control.c,v 1.20 2004/01/22 20:34:55 henning Exp $ */ +/* $OpenBSD: control.c,v 1.21 2004/02/02 23:17:34 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -57,16 +57,19 @@ control_init(void) if (unlink(SOCKET_NAME) == -1) if (errno != ENOENT) { log_warn("unlink %s", SOCKET_NAME); + close(fd); return (-1); } if (bind(fd, (struct sockaddr *)&sun, sizeof(sun)) == -1) { log_warn("control_init: bind: %s", SOCKET_NAME); + close(fd); return (-1); } if (chmod(SOCKET_NAME, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) == -1) { log_warn("control_init chmod"); + close(fd); return (-1); } |