[1/4] adjtimex/adjtimex64: Use __nonnull to avoid null pointer

Message ID 20220428122529.108208-2-nixiaoming@huawei.com
State Superseded
Delegated to: Siddhesh Poyarekar
Headers
Series time: Use __nonnull to avoid null pointer |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Xiaoming Ni April 28, 2022, 12:25 p.m. UTC
  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(-)
  

Comments

Siddhesh Poyarekar May 4, 2022, 10:56 a.m. UTC | #1
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),
  

Patch

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),