From d3e332c72d415d1c64dcea1ef6928a7c60e3c132 Mon Sep 17 00:00:00 2001 From: sin Date: Wed, 11 Jun 2014 13:03:33 +0100 Subject: [PATCH] Ensure a select() failure is properly signalled to the caller --- dd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dd.c b/dd.c index 25bce65..79c20d4 100644 --- a/dd.c +++ b/dd.c @@ -162,7 +162,8 @@ copy_splice(struct dd_config *ddc) FD_ZERO(&wfd); FD_SET(ifd, &rfd); FD_SET(ofd, &wfd); - if (select(ifd > ofd ? ifd + 1 : ofd + 1, &rfd, &wfd, NULL, NULL) < 0) { + r = select(ifd > ofd ? ifd + 1 : ofd + 1, &rfd, &wfd, NULL, NULL); + if (r < 0) { ddc->saved_errno = errno; break; }