Fail on error, we are in trouble.
Signed-off-by: Denis V. Lunev <[email protected]>
CC: Eric Blake <[email protected]>
CC: Vladimir Sementsov-Ogievskiy <[email protected]>
---
qemu-nbd.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index f27613cb57..cd0e965705 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -323,7 +323,12 @@ static void *nbd_client_thread(void *arg)
opts->device, srcpath);
} else {
/* Close stderr so that the qemu-nbd process exits. */
- dup2(STDOUT_FILENO, STDERR_FILENO);
+ int err = dup2(STDOUT_FILENO, STDERR_FILENO);
+ if (err < 0) {
+ error_report("Could not set stderr to /dev/null: %s",
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
}
if (nbd_client(fd) < 0) {
@@ -1171,7 +1176,12 @@ int main(int argc, char **argv)
}
if (fork_process) {
- dup2(STDOUT_FILENO, STDERR_FILENO);
+ ret = dup2(STDOUT_FILENO, STDERR_FILENO);
+ if (ret < 0) {
+ error_report("Could not set stderr to /dev/null: %s",
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
}
state = RUNNING;
--
2.34.1