stdio: disable fortify of snprintf/sprintf for clang

clang does not have builtin function `__builtin_va_arg_pack`

Signed-off-by: chenxiaoyi <chenxiaoyi@xiaomi.com>
This commit is contained in:
chenxiaoyi
2024-12-04 18:06:20 +08:00
committed by Alan C. Assis
parent c07d9dc900
commit f107b3f5d5
2 changed files with 5 additions and 1 deletions
+3 -1
View File
@@ -127,7 +127,9 @@
} \
while (0)
# define fortify_va_arg_pack __builtin_va_arg_pack
# if !defined(__clang__)
# define fortify_va_arg_pack __builtin_va_arg_pack
# endif
# define fortify_real(fn) __typeof__(fn) __real_##fn __asm__(#fn)
# define fortify_function(fn) fortify_real(fn); \
extern __inline__ no_builtin(#fn) \
+2
View File
@@ -318,6 +318,7 @@ fortify_function(vsprintf) int vsprintf(FAR char *dest,
return ret;
}
#ifdef fortify_va_arg_pack
fortify_function(snprintf) int snprintf(FAR char *buf, size_t size,
FAR const IPTR char *format, ...)
{
@@ -336,6 +337,7 @@ fortify_function(sprintf) int sprintf(FAR char *buf,
return ret;
}
#endif
#endif
#undef EXTERN
#if defined(__cplusplus)