clock_settime/clock_gettime: Use __nonnull to avoid null pointer

clock_settime()
clock_settime64()
clock_gettime()
clock_gettime64()
Add __nonnull((2)) 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>
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
This commit is contained in:
Xiaoming Ni 2022-05-05 11:01:11 +08:00 committed by Siddhesh Poyarekar
parent ed2ddeffa5
commit cf73acb596
2 changed files with 9 additions and 6 deletions

View File

@ -166,7 +166,7 @@ libc_hidden_proto (__timegm64)
# define __clock_settime64 __clock_settime
#else
extern int __clock_settime64 (clockid_t clock_id,
const struct __timespec64 *tp);
const struct __timespec64 *tp) __nonnull((2));
libc_hidden_proto (__clock_settime64)
#endif
@ -324,7 +324,7 @@ extern int __clock_nanosleep_time64 (clockid_t clock_id,
int flags, const struct __timespec64 *req,
struct __timespec64 *rem);
libc_hidden_proto (__clock_nanosleep_time64)
extern int __clock_gettime64 (clockid_t clock_id, struct __timespec64 *tp);
extern int __clock_gettime64 (clockid_t clock_id, struct __timespec64 *tp) __nonnull((2));
libc_hidden_proto (__clock_gettime64)
extern int __timespec_get64 (struct __timespec64 *ts, int base);
libc_hidden_proto (__timespec_get64)

View File

@ -276,11 +276,12 @@ extern int nanosleep (const struct timespec *__requested_time,
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW;
/* Get current value of clock CLOCK_ID and store it in TP. */
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __THROW;
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
__THROW __nonnull((2));
/* Set clock CLOCK_ID to value TP. */
extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
__THROW;
__THROW __nonnull((2));
# else
# ifdef __REDIRECT
extern int __REDIRECT (nanosleep, (const struct timespec *__requested_time,
@ -290,9 +291,11 @@ extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id,
struct timespec *__res),
__clock_getres64);
extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, struct
timespec *__tp), __clock_gettime64);
timespec *__tp), __clock_gettime64)
__nonnull((2));
extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct
timespec *__tp), __clock_settime64);
timespec *__tp), __clock_settime64)
__nonnull((2));
# else
# define nanosleep __nanosleep64
# define clock_getres __clock_getres64