From 4e0b43211ff5768ed2ad3f875b37efbc9f927a34 Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Thu, 16 May 2024 15:46:23 +0200 Subject: [PATCH] Also set errno for unsupported compressions in solv_xfopen_fd() --- ext/solv_xfopen.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/ext/solv_xfopen.c b/ext/solv_xfopen.c index e23ea596..398a7d43 100644 --- a/ext/solv_xfopen.c +++ b/ext/solv_xfopen.c @@ -764,7 +764,10 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode) return mygzfdopen(fd, simplemode); #else if (suf && !strcmp(suf, ".gz")) - return 0; + { + errno = ENOTSUP; + return 0; + } #endif #ifdef ENABLE_LZMA_COMPRESSION if (suf && !strcmp(suf, ".xz")) @@ -773,9 +776,15 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode) return mylzfdopen(fd, simplemode); #else if (suf && !strcmp(suf, ".xz")) - return 0; + { + errno = ENOTSUP; + return 0; + } if (suf && !strcmp(suf, ".lzma")) - return 0; + { + errno = ENOTSUP; + return 0; + } #endif #ifdef ENABLE_BZIP2_COMPRESSION if (suf && !strcmp(suf, ".bz2")) @@ -789,14 +798,20 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode) return myzstdfdopen(fd, simplemode); #else if (suf && !strcmp(suf, ".zst")) - return 0; + { + errno = ENOTSUP; + return 0; + } #endif #ifdef ENABLE_ZCHUNK_COMPRESSION if (suf && !strcmp(suf, ".zck")) return myzchunkfdopen(fd, simplemode); #else if (suf && !strcmp(suf, ".zck")) - return 0; + { + errno = ENOTSUP; + return 0; + } #endif return fdopen(fd, mode); } -- 2.47.3