OSDN Git Service

allow fmemopen with zero size
authorRich Felker <dalias@aerifal.cx>
Tue, 25 Jun 2019 21:47:12 +0000 (17:47 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 25 Jun 2019 21:47:12 +0000 (17:47 -0400)
previously, POSIX erroneously required this to fail with EINVAL
despite the traditional glibc implementation, on which the POSIX
interface was based, allowing it. the resolution of Austin Group issue
818 removes the requirement to fail.

src/stdio/fmemopen.c

index 82413b2..5685092 100644 (file)
@@ -83,7 +83,7 @@ FILE *fmemopen(void *restrict buf, size_t size, const char *restrict mode)
        struct mem_FILE *f;
        int plus = !!strchr(mode, '+');
        
-       if (!size || !strchr("rwa", *mode)) {
+       if (!strchr("rwa", *mode)) {
                errno = EINVAL;
                return 0;
        }