diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2018-01-28 18:48:04 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2018-01-29 22:21:21 +0100 |
commit | 9a1793289b08339660985cb2baada60debc70bf2 (patch) | |
tree | a934b7ecc9cab380428be0eea4939083d3c57f4f | |
parent | e01e0ddc42e5909af0409d28bc4fd52ebfdbc7db (diff) | |
download | glibc-9a1793289b08339660985cb2baada60debc70bf2.tar glibc-9a1793289b08339660985cb2baada60debc70bf2.tar.gz glibc-9a1793289b08339660985cb2baada60debc70bf2.tar.bz2 glibc-9a1793289b08339660985cb2baada60debc70bf2.zip |
Reject invalid definitions of _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE
POSIX requires that the constants _POSIX_CHOWN_RESTRICTED,
_POSIX_NO_TRUNC, and _POSIX_VDISABLE are always defined to a value other
than -1.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/posix/fpathconf.c | 21 | ||||
-rw-r--r-- | sysdeps/posix/pathconf.c | 21 |
3 files changed, 24 insertions, 24 deletions
@@ -1,3 +1,9 @@ +2018-01-29 Andreas Schwab <schwab@linux-m68k.org> + + * sysdeps/posix/fpathconf.c (__fpathconf): Verify the values of + _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE. + * sysdeps/posix/pathconf.c (__pathconf): Likewise. + 2018-01-29 Samuel Thibault <samuel.thibault@ens-lyon.org> * mach/Versions: Fix version when __mach_host_self_ was added. diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c index 80af77e148..a9d164564e 100644 --- a/sysdeps/posix/fpathconf.c +++ b/sysdeps/posix/fpathconf.c @@ -103,25 +103,22 @@ __fpathconf (int fd, int name) #endif case _PC_CHOWN_RESTRICTED: -#ifdef _POSIX_CHOWN_RESTRICTED - return _POSIX_CHOWN_RESTRICTED; -#else - return -1; +#if _POSIX_CHOWN_RESTRICTED == -1 +# error "Invalid value for _POSIX_CHOWN_RESTRICTED" #endif + return _POSIX_CHOWN_RESTRICTED; case _PC_NO_TRUNC: -#ifdef _POSIX_NO_TRUNC - return _POSIX_NO_TRUNC; -#else - return -1; +#if _POSIX_NO_TRUNC == -1 +# error "Invalid value for _POSIX_NO_TRUNC" #endif + return _POSIX_NO_TRUNC; case _PC_VDISABLE: -#ifdef _POSIX_VDISABLE - return _POSIX_VDISABLE; -#else - return -1; +#if _POSIX_VDISABLE == -1 +# error "Invalid value for _POSIX_VDISABLE" #endif + return _POSIX_VDISABLE; case _PC_SYNC_IO: #ifdef _POSIX_SYNC_IO diff --git a/sysdeps/posix/pathconf.c b/sysdeps/posix/pathconf.c index 2059e55b4f..0f893ec1ba 100644 --- a/sysdeps/posix/pathconf.c +++ b/sysdeps/posix/pathconf.c @@ -101,25 +101,22 @@ __pathconf (const char *path, int name) #endif case _PC_CHOWN_RESTRICTED: -#ifdef _POSIX_CHOWN_RESTRICTED - return _POSIX_CHOWN_RESTRICTED; -#else - return -1; +#if _POSIX_CHOWN_RESTRICTED == -1 +# error "Invalid value for _POSIX_CHOWN_RESTRICTED" #endif + return _POSIX_CHOWN_RESTRICTED; case _PC_NO_TRUNC: -#ifdef _POSIX_NO_TRUNC - return _POSIX_NO_TRUNC; -#else - return -1; +#if _POSIX_NO_TRUNC == -1 +# error "Invalid value for _POSIX_NO_TRUNC" #endif + return _POSIX_NO_TRUNC; case _PC_VDISABLE: -#ifdef _POSIX_VDISABLE - return _POSIX_VDISABLE; -#else - return -1; +#if _POSIX_VDISABLE == -1 +# error "Invalid value for _POSIX_VDISABLE" #endif + return _POSIX_VDISABLE; case _PC_SYNC_IO: #ifdef _POSIX_SYNC_IO |