diff options
Diffstat (limited to 'sysdeps/mach/hurd/openat.c')
-rw-r--r-- | sysdeps/mach/hurd/openat.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/openat.c b/sysdeps/mach/hurd/openat.c index 1faf857e16..f0a3404cd8 100644 --- a/sysdeps/mach/hurd/openat.c +++ b/sysdeps/mach/hurd/openat.c @@ -21,6 +21,7 @@ #include <fcntl.h> #include <stdarg.h> #include <stddef.h> +#include <stdio.h> #include <sys/stat.h> #include <hurd.h> #include <hurd/fd.h> @@ -56,7 +57,20 @@ __openat (fd, file, oflag) libc_hidden_def (__openat) weak_alias (__openat, openat) +int +__openat_2 (fd, file, oflag) + int fd; + const char *file; + int oflag; +{ + if (oflag & O_CREAT) + __fortify_fail ("invalid openat call: O_CREAT without mode"); + + return __openat (fd, file, oflag); +} + /* openat64 is just the same as openat for us. */ weak_alias (__openat, __openat64) libc_hidden_weak (__openat64) weak_alias (__openat, openat64) +strong_alias (__openat_2, __openat64_2) |