Merge "libc: Rename fortify error functions."
This commit is contained in:
commit
0846109c96
2 changed files with 8 additions and 8 deletions
|
@ -50,8 +50,8 @@ extern int fcntl(int fd, int command, ...);
|
||||||
extern int creat(const char* path, mode_t mode);
|
extern int creat(const char* path, mode_t mode);
|
||||||
|
|
||||||
#if defined(__BIONIC_FORTIFY) && !defined(__clang__)
|
#if defined(__BIONIC_FORTIFY) && !defined(__clang__)
|
||||||
__errordecl(__creat_error, "called with O_CREAT, but missing mode");
|
__errordecl(__creat_missing_mode, "called with O_CREAT, but missing mode");
|
||||||
__errordecl(__too_many_args_error, "too many arguments");
|
__errordecl(__creat_too_many_args, "too many arguments");
|
||||||
extern int __open_real(const char *pathname, int flags, ...)
|
extern int __open_real(const char *pathname, int flags, ...)
|
||||||
__asm__(__USER_LABEL_PREFIX__ "open");
|
__asm__(__USER_LABEL_PREFIX__ "open");
|
||||||
extern int __open_2(const char *, int);
|
extern int __open_2(const char *, int);
|
||||||
|
@ -60,12 +60,12 @@ __BIONIC_FORTIFY_INLINE
|
||||||
int open(const char *pathname, int flags, ...) {
|
int open(const char *pathname, int flags, ...) {
|
||||||
if (__builtin_constant_p(flags)) {
|
if (__builtin_constant_p(flags)) {
|
||||||
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
|
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
|
||||||
__creat_error(); // compile time error
|
__creat_missing_mode(); // compile time error
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_va_arg_pack_len() > 1) {
|
if (__builtin_va_arg_pack_len() > 1) {
|
||||||
__too_many_args_error(); // compile time error
|
__creat_too_many_args(); // compile time error
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
|
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
|
||||||
|
@ -83,12 +83,12 @@ __BIONIC_FORTIFY_INLINE
|
||||||
int openat(int dirfd, const char *pathname, int flags, ...) {
|
int openat(int dirfd, const char *pathname, int flags, ...) {
|
||||||
if (__builtin_constant_p(flags)) {
|
if (__builtin_constant_p(flags)) {
|
||||||
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
|
if ((flags & O_CREAT) && __builtin_va_arg_pack_len() == 0) {
|
||||||
__creat_error(); // compile time error
|
__creat_missing_mode(); // compile time error
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (__builtin_va_arg_pack_len() > 1) {
|
if (__builtin_va_arg_pack_len() > 1) {
|
||||||
__too_many_args_error(); // compile time error
|
__creat_too_many_args(); // compile time error
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
|
if ((__builtin_va_arg_pack_len() == 0) && !__builtin_constant_p(flags)) {
|
||||||
|
|
|
@ -134,13 +134,13 @@ extern mode_t umask(mode_t);
|
||||||
extern mode_t __umask_chk(mode_t);
|
extern mode_t __umask_chk(mode_t);
|
||||||
extern mode_t __umask_real(mode_t)
|
extern mode_t __umask_real(mode_t)
|
||||||
__asm__(__USER_LABEL_PREFIX__ "umask");
|
__asm__(__USER_LABEL_PREFIX__ "umask");
|
||||||
__errordecl(__umask_error, "umask called with invalid mode");
|
__errordecl(__umask_invalid_mode, "umask called with invalid mode");
|
||||||
|
|
||||||
__BIONIC_FORTIFY_INLINE
|
__BIONIC_FORTIFY_INLINE
|
||||||
mode_t umask(mode_t mode) {
|
mode_t umask(mode_t mode) {
|
||||||
if (__builtin_constant_p(mode)) {
|
if (__builtin_constant_p(mode)) {
|
||||||
if ((mode & 0777) != mode) {
|
if ((mode & 0777) != mode) {
|
||||||
__umask_error();
|
__umask_invalid_mode();
|
||||||
}
|
}
|
||||||
return __umask_real(mode);
|
return __umask_real(mode);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue