From: Michael Tremer Date: Sun, 12 Jan 2025 11:26:41 +0000 (+0000) Subject: archive: Ensure r is always set correctly X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fdd9f48d796e5d90a9d7f85b9abcf4a707be923b;p=people%2Fric9%2Fpakfire.git archive: Ensure r is always set correctly Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/archive.c b/src/pakfire/archive.c index 5169c0774..4c76fcd15 100644 --- a/src/pakfire/archive.c +++ b/src/pakfire/archive.c @@ -167,18 +167,25 @@ static int archive_read_file_open(struct archive* a, FILE* f) { // Reset so we won't accidentally close it f = NULL; - if (fd < 0) + if (fd < 0) { + r = -EBADF; goto ERROR; + } // Duplicate the file descriptor fd = dup(fd); - if (fd < 0) + if (fd < 0) { + r = -errno; goto ERROR; + } + // Re-open the file handle f = fdopen(fd, "r"); - if (!f) + if (!f) { + r = -errno; goto ERROR; + } // Reset file descriptor fd = -EBADF;