Message ID | 20230628084246.778302-14-fberat@redhat.com |
---|---|
State | New |
Headers | show |
Series | Allow glibc to be built with _FORTIFY_SOURCE | expand |
On 2023-06-28 04:42, Frédéric Bérat wrote: > --- > libio/bits/stdio2-decl.h | 49 ++++++++++++++++++++++++++++++++++++++++ > libio/bits/stdio2.h | 48 --------------------------------------- > 2 files changed, 49 insertions(+), 48 deletions(-) Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> > > diff --git a/libio/bits/stdio2-decl.h b/libio/bits/stdio2-decl.h > index 9d4668da21..114b06d24b 100644 > --- a/libio/bits/stdio2-decl.h > +++ b/libio/bits/stdio2-decl.h > @@ -84,18 +84,55 @@ extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, > #endif > > #if __GLIBC_USE (DEPRECATED_GETS) > +extern char *__REDIRECT (__gets_warn, (char *__str), gets) > + __wur __warnattr ("please use fgets or getline instead, gets can't " > + "specify buffer size"); > + > extern char *__gets_chk (char *__str, size_t) __wur; > #endif > > +extern char *__REDIRECT (__fgets_alias, > + (char *__restrict __s, int __n, > + FILE *__restrict __stream), fgets) > + __wur __attr_access ((__write_only__, 1, 2)); > +extern char *__REDIRECT (__fgets_chk_warn, > + (char *__restrict __s, size_t __size, int __n, > + FILE *__restrict __stream), __fgets_chk) > + __wur __warnattr ("fgets called with bigger size than length " > + "of destination buffer"); > + > extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, > FILE *__restrict __stream) > __wur __attr_access ((__write_only__, 1, 3)); > > +extern size_t __REDIRECT (__fread_alias, > + (void *__restrict __ptr, size_t __size, > + size_t __n, FILE *__restrict __stream), > + fread) __wur; > +extern size_t __REDIRECT (__fread_chk_warn, > + (void *__restrict __ptr, size_t __ptrlen, > + size_t __size, size_t __n, > + FILE *__restrict __stream), > + __fread_chk) > + __wur __warnattr ("fread called with bigger size * nmemb than length " > + "of destination buffer"); > + > extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __wur; > > #ifdef __USE_GNU > +extern char *__REDIRECT (__fgets_unlocked_alias, > + (char *__restrict __s, int __n, > + FILE *__restrict __stream), fgets_unlocked) > + __wur __attr_access ((__write_only__, 1, 2)); > +extern char *__REDIRECT (__fgets_unlocked_chk_warn, > + (char *__restrict __s, size_t __size, int __n, > + FILE *__restrict __stream), __fgets_unlocked_chk) > + __wur __warnattr ("fgets_unlocked called with bigger size than length " > + "of destination buffer"); > + > + > extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, > int __n, FILE *__restrict __stream) > __wur __attr_access ((__write_only__, 1, 3)); > @@ -103,6 +140,18 @@ extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, > > #ifdef __USE_MISC > # undef fread_unlocked > +extern size_t __REDIRECT (__fread_unlocked_alias, > + (void *__restrict __ptr, size_t __size, > + size_t __n, FILE *__restrict __stream), > + fread_unlocked) __wur; > +extern size_t __REDIRECT (__fread_unlocked_chk_warn, > + (void *__restrict __ptr, size_t __ptrlen, > + size_t __size, size_t __n, > + FILE *__restrict __stream), > + __fread_unlocked_chk) > + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " > + "length of destination buffer"); > + > extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, > size_t __size, size_t __n, > FILE *__restrict __stream) __wur; > diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h > index ad85f7df8b..71226408ab 100644 > --- a/libio/bits/stdio2.h > +++ b/libio/bits/stdio2.h > @@ -182,10 +182,6 @@ __NTH (obstack_vprintf (struct obstack *__restrict __obstack, > #endif > > #if __GLIBC_USE (DEPRECATED_GETS) > -extern char *__REDIRECT (__gets_warn, (char *__str), gets) > - __wur __warnattr ("please use fgets or getline instead, gets can't " > - "specify buffer size"); > - > __fortify_function __wur char * > gets (char *__str) > { > @@ -195,16 +191,6 @@ gets (char *__str) > } > #endif > > -extern char *__REDIRECT (__fgets_alias, > - (char *__restrict __s, int __n, > - FILE *__restrict __stream), fgets) > - __wur __attr_access ((__write_only__, 1, 2)); > -extern char *__REDIRECT (__fgets_chk_warn, > - (char *__restrict __s, size_t __size, int __n, > - FILE *__restrict __stream), __fgets_chk) > - __wur __warnattr ("fgets called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * > fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > { > @@ -216,18 +202,6 @@ fgets (char *__restrict __s, int __n, FILE *__restrict __stream) > return __fgets_chk (__s, sz, __n, __stream); > } > > -extern size_t __REDIRECT (__fread_alias, > - (void *__restrict __ptr, size_t __size, > - size_t __n, FILE *__restrict __stream), > - fread) __wur; > -extern size_t __REDIRECT (__fread_chk_warn, > - (void *__restrict __ptr, size_t __ptrlen, > - size_t __size, size_t __n, > - FILE *__restrict __stream), > - __fread_chk) > - __wur __warnattr ("fread called with bigger size * nmemb than length " > - "of destination buffer"); > - > __fortify_function __wur size_t > fread (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream) > @@ -241,16 +215,6 @@ fread (void *__restrict __ptr, size_t __size, size_t __n, > } > > #ifdef __USE_GNU > -extern char *__REDIRECT (__fgets_unlocked_alias, > - (char *__restrict __s, int __n, > - FILE *__restrict __stream), fgets_unlocked) > - __wur __attr_access ((__write_only__, 1, 2)); > -extern char *__REDIRECT (__fgets_unlocked_chk_warn, > - (char *__restrict __s, size_t __size, int __n, > - FILE *__restrict __stream), __fgets_unlocked_chk) > - __wur __warnattr ("fgets_unlocked called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * > fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) > { > @@ -265,18 +229,6 @@ fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) > > #ifdef __USE_MISC > # undef fread_unlocked > -extern size_t __REDIRECT (__fread_unlocked_alias, > - (void *__restrict __ptr, size_t __size, > - size_t __n, FILE *__restrict __stream), > - fread_unlocked) __wur; > -extern size_t __REDIRECT (__fread_unlocked_chk_warn, > - (void *__restrict __ptr, size_t __ptrlen, > - size_t __size, size_t __n, > - FILE *__restrict __stream), > - __fread_unlocked_chk) > - __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " > - "length of destination buffer"); > - > __fortify_function __wur size_t > fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, > FILE *__restrict __stream)
diff --git a/libio/bits/stdio2-decl.h b/libio/bits/stdio2-decl.h index 9d4668da21..114b06d24b 100644 --- a/libio/bits/stdio2-decl.h +++ b/libio/bits/stdio2-decl.h @@ -84,18 +84,55 @@ extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, #endif #if __GLIBC_USE (DEPRECATED_GETS) +extern char *__REDIRECT (__gets_warn, (char *__str), gets) + __wur __warnattr ("please use fgets or getline instead, gets can't " + "specify buffer size"); + extern char *__gets_chk (char *__str, size_t) __wur; #endif +extern char *__REDIRECT (__fgets_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_chk) + __wur __warnattr ("fgets called with bigger size than length " + "of destination buffer"); + extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __wur __attr_access ((__write_only__, 1, 3)); +extern size_t __REDIRECT (__fread_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread) __wur; +extern size_t __REDIRECT (__fread_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_chk) + __wur __warnattr ("fread called with bigger size * nmemb than length " + "of destination buffer"); + extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __wur; #ifdef __USE_GNU +extern char *__REDIRECT (__fgets_unlocked_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets_unlocked) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_unlocked_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_unlocked_chk) + __wur __warnattr ("fgets_unlocked called with bigger size than length " + "of destination buffer"); + + extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __wur __attr_access ((__write_only__, 1, 3)); @@ -103,6 +140,18 @@ extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, #ifdef __USE_MISC # undef fread_unlocked +extern size_t __REDIRECT (__fread_unlocked_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread_unlocked) __wur; +extern size_t __REDIRECT (__fread_unlocked_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_unlocked_chk) + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " + "length of destination buffer"); + extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __wur; diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h index ad85f7df8b..71226408ab 100644 --- a/libio/bits/stdio2.h +++ b/libio/bits/stdio2.h @@ -182,10 +182,6 @@ __NTH (obstack_vprintf (struct obstack *__restrict __obstack, #endif #if __GLIBC_USE (DEPRECATED_GETS) -extern char *__REDIRECT (__gets_warn, (char *__str), gets) - __wur __warnattr ("please use fgets or getline instead, gets can't " - "specify buffer size"); - __fortify_function __wur char * gets (char *__str) { @@ -195,16 +191,6 @@ gets (char *__str) } #endif -extern char *__REDIRECT (__fgets_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_chk) - __wur __warnattr ("fgets called with bigger size than length " - "of destination buffer"); - __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { @@ -216,18 +202,6 @@ fgets (char *__restrict __s, int __n, FILE *__restrict __stream) return __fgets_chk (__s, sz, __n, __stream); } -extern size_t __REDIRECT (__fread_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread) __wur; -extern size_t __REDIRECT (__fread_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_chk) - __wur __warnattr ("fread called with bigger size * nmemb than length " - "of destination buffer"); - __fortify_function __wur size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) @@ -241,16 +215,6 @@ fread (void *__restrict __ptr, size_t __size, size_t __n, } #ifdef __USE_GNU -extern char *__REDIRECT (__fgets_unlocked_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets_unlocked) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_unlocked_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_unlocked_chk) - __wur __warnattr ("fgets_unlocked called with bigger size than length " - "of destination buffer"); - __fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { @@ -265,18 +229,6 @@ fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) #ifdef __USE_MISC # undef fread_unlocked -extern size_t __REDIRECT (__fread_unlocked_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread_unlocked) __wur; -extern size_t __REDIRECT (__fread_unlocked_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_unlocked_chk) - __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " - "length of destination buffer"); - __fortify_function __wur size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream)