[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 03/23] nbd: Close socket on negotiation failure.
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 03/23] nbd: Close socket on negotiation failure. |
Date: |
Mon, 26 May 2014 11:19:51 +0400 |
From: Hani Benhabiles <address@hidden>
Otherwise, the nbd client may hang waiting for the server response.
Signed-off-by: Hani Benhabiles <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
blockdev-nbd.c | 4 ++--
qemu-nbd.c | 4 +++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 922cf56..b60b66d 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -27,8 +27,8 @@ static void nbd_accept(void *opaque)
socklen_t addr_len = sizeof(addr);
int fd = accept(server_fd, (struct sockaddr *)&addr, &addr_len);
- if (fd >= 0) {
- nbd_client_new(NULL, fd, nbd_client_put);
+ if (fd >= 0 && !nbd_client_new(NULL, fd, nbd_client_put)) {
+ close(fd);
}
}
diff --git a/qemu-nbd.c b/qemu-nbd.c
index eed79fa..f70e4b0 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -369,8 +369,10 @@ static void nbd_accept(void *opaque)
return;
}
- if (fd >= 0 && nbd_client_new(exp, fd, nbd_client_closed)) {
+ if (nbd_client_new(exp, fd, nbd_client_closed)) {
nb_fds++;
+ } else {
+ close(fd);
}
}
--
1.7.10.4
- [Qemu-trivial] [PULL 19/23] libcacard: fix wrong array expansion logic, (continued)
- [Qemu-trivial] [PULL 19/23] libcacard: fix wrong array expansion logic, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 14/23] libcacard: Plug memory leaks around vreader_get_reader_list(), Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 09/23] arch_init: replace fprintf(stderr, ...) with error_report(), Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 15/23] libcacard/vreader: Drop broken recovery from failed assertion, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 16/23] libcacard/vreader: Tighten assertion to clarify intent, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 23/23] libcacard: remove useless initializers, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 12/23] vl: fix 'name' option to work with -readconfig, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 06/23] bswap.h: Rename ldl_p, stl_p, etc to ldl_he_p, stl_he_p, etc, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 17/23] libcacard: Convert two leftover realloc() to GLib, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 22/23] net: cadence_gem: Fix top comment, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 03/23] nbd: Close socket on negotiation failure.,
Michael Tokarev <=
- [Qemu-trivial] [PULL 18/23] libcacard/vcard_emul_nss: Drop a redundant conditional, Michael Tokarev, 2014/05/26
- [Qemu-trivial] [PULL 11/23] configure: Put tempfiles in a subdir of the build directory, Michael Tokarev, 2014/05/26
- Re: [Qemu-trivial] [Qemu-devel] [PULL 00/23] Trivial patches for 2014-05-26, Peter Maydell, 2014/05/27