From 4228baef1a94e8bde84ad74f2e0358120a2bcac7 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 25 Jun 2024 11:57:15 -0300 Subject: [PATCH] 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 Tested-by: Khem Raj --- io/bits/fcntl2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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