From: Adhemerval Zanella Date: Fri, 28 Jun 2024 19:20:15 +0000 (-0300) Subject: debug: Fix clang open fortify wrapper (BZ 31927) X-Git-Tag: glibc-2.40~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f80d8134a15235732586e238ac28cea459fb60b;p=thirdparty%2Fglibc.git debug: Fix clang open fortify wrapper (BZ 31927) The clang open fortify wrapper from 4228baef1a94e8bde84ad74 added a restriction where open with 3 arguments where flags do not contain O_CREAT or O_TMPFILE are handled as invalid. They are not invalid, since the third argument is ignored, and the gcc wrapper also allows it. Checked x86_64-linux-gnu and with a yocto build for some affected packages. Tested-by: “Khem Raj ” --- diff --git a/io/bits/fcntl2.h b/io/bits/fcntl2.h index c8888b50c1..0cced392e7 100644 --- a/io/bits/fcntl2.h +++ b/io/bits/fcntl2.h @@ -61,13 +61,8 @@ open (const char *__path, int __oflag, ...) return __open_alias (__path, __oflag, __va_arg_pack ()); } #elif __fortify_use_clang -__fortify_function_error_function __attribute_overloadable__ int -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 open (__fortify_clang_overload_arg (const char *, ,__path), int __oflag) - __fortify_clang_prefer_this_overload __fortify_clang_error (__OPEN_NEEDS_MODE (__oflag), "open with O_CREAT or O_TMPFILE in second argument needs 3 arguments") {