From: Christian Brauner Date: Sat, 20 Jan 2018 20:44:50 +0000 (+0100) Subject: coverity: #1426734 X-Git-Tag: lxc-2.0.10~381 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cf0e5f3e185e4a945c41dbb989dfb07d01df197;p=thirdparty%2Flxc.git coverity: #1426734 do not call close on bad fd Signed-off-by: Christian Brauner --- diff --git a/src/lxc/monitor.c b/src/lxc/monitor.c index 4b57bb727..65ae9aa05 100644 --- a/src/lxc/monitor.c +++ b/src/lxc/monitor.c @@ -209,7 +209,6 @@ int lxc_monitor_open(const char *lxcpath) int fd; size_t retry; size_t len; - int ret = -1; int backoff_ms[] = {10, 50, 100}; if (lxc_monitor_sock_name(lxcpath, &addr) < 0) @@ -218,16 +217,16 @@ int lxc_monitor_open(const char *lxcpath) fd = socket(PF_UNIX, SOCK_STREAM, 0); if (fd < 0) { ERROR("Failed to create socket: %s.", strerror(errno)); - return -errno; + return -1; } len = strlen(&addr.sun_path[1]); DEBUG("opening monitor socket %s with len %zu", &addr.sun_path[1], len); if (len >= sizeof(addr.sun_path) - 1) { errno = ENAMETOOLONG; - ret = -errno; ERROR("name of monitor socket too long (%zu bytes): %s", len, strerror(errno)); - goto on_error; + close(fd); + return -1; } for (retry = 0; retry < sizeof(backoff_ms) / sizeof(backoff_ms[0]); retry++) { @@ -239,16 +238,12 @@ int lxc_monitor_open(const char *lxcpath) } if (fd < 0) { - ret = -errno; ERROR("Failed to connect to monitor socket: %s.", strerror(errno)); - goto on_error; + close(fd); + return -1; } return fd; - -on_error: - close(fd); - return ret; } int lxc_monitor_read_fdset(struct pollfd *fds, nfds_t nfds, struct lxc_msg *msg,