summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/fuzz/minigzip_fuzzer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/fuzz/minigzip_fuzzer.c b/test/fuzz/minigzip_fuzzer.c
index 375bab5889..73d25bb47a 100644
--- a/test/fuzz/minigzip_fuzzer.c
+++ b/test/fuzz/minigzip_fuzzer.c
@@ -150,8 +150,15 @@ gzFile gz_open(const char *path, int fd, const char *mode)
free(gz);
return NULL;
}
- gz->file = path == NULL ? fdopen(fd, gz->write ? "wb" : "rb") :
- fopen(path, gz->write ? "wb" : "rb");
+#if _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
+ gz->file = path == NULL ? fdopen(fd, gz->write ? "wb" : "rb")
+ : fopen(path, gz->write ? "wb" : "rb");
+#else
+ /* fdopen is not available in C99. */
+ if (path == NULL)
+ exit(1);
+ gz->file = fopen(path, gz->write ? "wb" : "rb");
+#endif
if (gz->file == NULL) {
gz->write ? PREFIX(deflateEnd)(&(gz->strm)) : PREFIX(inflateEnd)(&(gz->strm));
free(gz);