https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=70653fd8f1db70b8776d22517fa737338eea18c7
commit 70653fd8f1db70b8776d22517fa737338eea18c7 Author: Corinna Vinschen <[email protected]> AuthorDate: Tue Feb 20 12:30:34 2024 +0100 Commit: Corinna Vinschen <[email protected]> CommitDate: Tue Feb 20 12:30:34 2024 +0100 Cygwin: gettimeofday: allow tv NULL pointer Add a missing check for the struct timeval pointer being NULL. Reported-by: 109224573 <[email protected]> Signed-off-by: Corinna Vinschen <[email protected]> Diff: --- winsup/cygwin/release/3.5.1 | 3 +++ winsup/cygwin/times.cc | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/release/3.5.1 b/winsup/cygwin/release/3.5.1 index 96d2ad32fa79..f3983c450dd9 100644 --- a/winsup/cygwin/release/3.5.1 +++ b/winsup/cygwin/release/3.5.1 @@ -20,3 +20,6 @@ Fixes: - Fix the problem that VMIN and VTIME does not work at all in console. - Fix a bug that cannot handle consoles more than 32, rather than 64. + +- Fix gettimeofday not checking for a NULL pointer + Addresses: https://cygwin.com/pipermail/cygwin/2024-February/255473.html diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc index 87773934bfd7..71a7210318fa 100644 --- a/winsup/cygwin/times.cc +++ b/winsup/cygwin/times.cc @@ -172,10 +172,13 @@ gettimeofday (struct timeval *__restrict tv, void *__restrict tzvp) static bool tzflag; LONGLONG now = get_clock (CLOCK_REALTIME)->usecs (); - tv->tv_sec = now / USPERSEC; - tv->tv_usec = now % USPERSEC; + if (tv) + { + tv->tv_sec = now / USPERSEC; + tv->tv_usec = now % USPERSEC; + } - if (tz != NULL) + if (tz) { if (!tzflag) {
