Message ID | 20220428122529.108208-2-nixiaoming@huawei.com |
---|---|
State | New |
Headers | show |
Series | time: Use __nonnull to avoid null pointer | expand |
On 28/04/2022 17:55, Xiaoming Ni via Libc-alpha wrote: > Add __nonnull((1)) to the adjtimex()/adjtimex64() function declaration > to avoid null pointer access. > > Link: https://sourceware.org/bugzilla/show_bug.cgi?id=27662 > Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29084 > Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com> > --- LGTM. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> > sysdeps/unix/sysv/linux/include/sys/timex.h | 4 ++-- > sysdeps/unix/sysv/linux/sys/timex.h | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/sysdeps/unix/sysv/linux/include/sys/timex.h b/sysdeps/unix/sysv/linux/include/sys/timex.h > index 964a2c21f2..dd599b1c32 100644 > --- a/sysdeps/unix/sysv/linux/include/sys/timex.h > +++ b/sysdeps/unix/sysv/linux/include/sys/timex.h > @@ -23,7 +23,7 @@ > > # ifndef _ISOMAC > > -extern int __adjtimex (struct timex *__ntx); > +extern int __adjtimex (struct timex *__ntx) __nonnull ((1)); > libc_hidden_proto (__adjtimex) > > # include <time.h> > @@ -79,7 +79,7 @@ struct __timex64 > }; > extern int __clock_adjtime64 (const clockid_t clock_id, struct __timex64 *tx64); > libc_hidden_proto (__clock_adjtime64); > -extern int ___adjtimex64 (struct __timex64 *tx64); > +extern int ___adjtimex64 (struct __timex64 *tx64) __nonnull ((1)); > libc_hidden_proto (___adjtimex64) > > struct __ntptimeval64 > diff --git a/sysdeps/unix/sysv/linux/sys/timex.h b/sysdeps/unix/sysv/linux/sys/timex.h > index 60d94814e8..430e47509d 100644 > --- a/sysdeps/unix/sysv/linux/sys/timex.h > +++ b/sysdeps/unix/sysv/linux/sys/timex.h > @@ -55,7 +55,7 @@ struct ntptimeval > __BEGIN_DECLS > > #ifndef __USE_TIME_BITS64 > -extern int adjtimex (struct timex *__ntx) __THROW; > +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); > extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; > > # ifdef __REDIRECT_NTH > @@ -68,7 +68,7 @@ extern int ntp_adjtime (struct timex *__tntx) __THROW; > #else > # ifdef __REDIRECT_NTH > extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), > - ___adjtimex64); > + ___adjtimex64) __nonnull ((1)); > extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), > __ntp_gettime64); > extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv),
diff --git a/sysdeps/unix/sysv/linux/include/sys/timex.h b/sysdeps/unix/sysv/linux/include/sys/timex.h index 964a2c21f2..dd599b1c32 100644 --- a/sysdeps/unix/sysv/linux/include/sys/timex.h +++ b/sysdeps/unix/sysv/linux/include/sys/timex.h @@ -23,7 +23,7 @@ # ifndef _ISOMAC -extern int __adjtimex (struct timex *__ntx); +extern int __adjtimex (struct timex *__ntx) __nonnull ((1)); libc_hidden_proto (__adjtimex) # include <time.h> @@ -79,7 +79,7 @@ struct __timex64 }; extern int __clock_adjtime64 (const clockid_t clock_id, struct __timex64 *tx64); libc_hidden_proto (__clock_adjtime64); -extern int ___adjtimex64 (struct __timex64 *tx64); +extern int ___adjtimex64 (struct __timex64 *tx64) __nonnull ((1)); libc_hidden_proto (___adjtimex64) struct __ntptimeval64 diff --git a/sysdeps/unix/sysv/linux/sys/timex.h b/sysdeps/unix/sysv/linux/sys/timex.h index 60d94814e8..430e47509d 100644 --- a/sysdeps/unix/sysv/linux/sys/timex.h +++ b/sysdeps/unix/sysv/linux/sys/timex.h @@ -55,7 +55,7 @@ struct ntptimeval __BEGIN_DECLS #ifndef __USE_TIME_BITS64 -extern int adjtimex (struct timex *__ntx) __THROW; +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; # ifdef __REDIRECT_NTH @@ -68,7 +68,7 @@ extern int ntp_adjtime (struct timex *__tntx) __THROW; #else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), __ntp_gettime64); extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv),
Add __nonnull((1)) to the adjtimex()/adjtimex64() function declaration to avoid null pointer access. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=27662 Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29084 Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com> --- sysdeps/unix/sysv/linux/include/sys/timex.h | 4 ++-- sysdeps/unix/sysv/linux/sys/timex.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)