diff --git a/Userland/Libraries/LibC/sys/time.h b/Userland/Libraries/LibC/sys/time.h index 6d187e7ca4..7d670bfec8 100644 --- a/Userland/Libraries/LibC/sys/time.h +++ b/Userland/Libraries/LibC/sys/time.h @@ -23,8 +23,8 @@ struct timezone { }; int adjtime(const struct timeval* delta, struct timeval* old_delta); -int gettimeofday(struct timeval* __restrict__, void* __restrict__) __attribute__((nonnull(1))); -int settimeofday(struct timeval* __restrict__, void* __restrict__) __attribute__((nonnull(1))); +int gettimeofday(struct timeval* __restrict__, void* __restrict__); +int settimeofday(struct timeval* __restrict__, void* __restrict__); int utimes(const char* pathname, const struct timeval[2]); static inline void timeradd(const struct timeval* a, const struct timeval* b, struct timeval* out) diff --git a/Userland/Libraries/LibC/time.cpp b/Userland/Libraries/LibC/time.cpp index 016c966ee6..3cf77b7889 100644 --- a/Userland/Libraries/LibC/time.cpp +++ b/Userland/Libraries/LibC/time.cpp @@ -54,6 +54,11 @@ int gettimeofday(struct timeval* __restrict__ tv, void* __restrict__) int settimeofday(struct timeval* __restrict__ tv, void* __restrict__) { + if (!tv) { + errno = EFAULT; + return -1; + } + timespec ts; TIMEVAL_TO_TIMESPEC(tv, &ts); return clock_settime(CLOCK_REALTIME, &ts);