From: Masatake YAMATO Date: Thu, 6 May 2021 04:39:30 +0000 (+0900) Subject: lib/fileutils: close fd if fdopen is failed X-Git-Tag: v2.37-rc2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c8d931ebe2bc75862ca5d48ab5694570d4c89662;p=thirdparty%2Futil-linux.git lib/fileutils: close fd if fdopen is failed Signed-off-by: Masatake YAMATO --- diff --git a/include/fileutils.h b/include/fileutils.h index 10fe46a25d..ad54b952cb 100644 --- a/include/fileutils.h +++ b/include/fileutils.h @@ -34,10 +34,15 @@ static inline FILE *fopen_at(int dir, const char *filename, int flags, const char *mode) { int fd = openat(dir, filename, flags); + FILE *ret; + if (fd < 0) return NULL; - return fdopen(fd, mode); + ret = fdopen(fd, mode); + if (!ret) + close(fd); + return ret; } #endif