about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-06-25 11:57:15 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-06-27 13:32:48 -0300
commit4228baef1a94e8bde84ad74f2e0358120a2bcac7 (patch)
tree1b6ff25a2c1b643a6085432ff3c4e9cdbc3fc884
parentc5579f3a713a631c4b5e2e3788ec715fbffd5af6 (diff)
downloadglibc-4228baef1a94e8bde84ad74f2e0358120a2bcac7.tar.gz
glibc-4228baef1a94e8bde84ad74f2e0358120a2bcac7.tar.xz
glibc-4228baef1a94e8bde84ad74f2e0358120a2bcac7.zip
debug: Fix clang open fortify wrapper (BZ 31927)
The fcntl.h fortify wrapper for clang added by 86889e22db329abac61
missed the __fortify_clang_overload_arg and and also added the
mode argument for the __fortify_function_error_function function,
which leads clang to be able to correct resolve which overloaded
function it should emit.

Checked on x86_64-linux-gnu.

Reported-by: Khem Raj <raj.khem@gmail.com>
Tested-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--io/bits/fcntl2.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/io/bits/fcntl2.h b/io/bits/fcntl2.h
index 26f1792fd1..c8888b50c1 100644
--- a/io/bits/fcntl2.h
+++ b/io/bits/fcntl2.h
@@ -62,7 +62,7 @@ open (const char *__path, int __oflag, ...)
 }
 #elif __fortify_use_clang
 __fortify_function_error_function __attribute_overloadable__ int
-open (const char *__path, int __oflag, mode_t __mode, ...)
+open (__fortify_clang_overload_arg (const char *, ,__path), int __oflag, ...)
      __fortify_clang_unavailable ("open can be called either with 2 or 3 arguments, not more");
 
 __fortify_function __attribute_overloadable__ int