libio: Improve fortify with clang
commit29951991f5db1001c059f8ed7afa2c359cdc7f44
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 8 Feb 2024 18:46:14 +0000 (8 15:46 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 27 Feb 2024 13:52:58 +0000 (27 10:52 -0300)
tree2559a4c5486e9986d502c538db21128373a4cc9f
parent7a7093615c1b7ac937b1af7b76d0008f8e1ca189
libio: Improve fortify with clang

It improve fortify checks for sprintf, vsprintf, vsnsprintf, fprintf,
dprintf, asprintf, __asprintf, obstack_printf, gets, fgets,
fgets_unlocked, fread, and fread_unlocked.  The runtime checks have
similar support coverage as with GCC.

For function with variadic argument (sprintf, snprintf, fprintf, printf,
dprintf, asprintf, __asprintf, obstack_printf) the fortify wrapper calls
the va_arg version since clang does not support __va_arg_pack.

Checked on aarch64, armhf, x86_64, and i686.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
libio/bits/stdio2.h