https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=a3268ac392241830cf6c91abe663f252c407cf8c

commit a3268ac392241830cf6c91abe663f252c407cf8c
Author: Corinna Vinschen <[email protected]>
Date:   Mon Jan 21 00:14:51 2019 +0100

    Cygwin: timerfd: Handle gettime error in settime
    
    Signed-off-by: Corinna Vinschen <[email protected]>

Diff:
---
 winsup/cygwin/timerfd.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/timerfd.cc b/winsup/cygwin/timerfd.cc
index 4f04efd..e5c17fb 100644
--- a/winsup/cygwin/timerfd.cc
+++ b/winsup/cygwin/timerfd.cc
@@ -590,8 +590,8 @@ timerfd_tracker::settime (int flags, const struct 
itimerspec *new_value,
          ret = -EBADF;
          __leave;
        }
-      if (old_value)
-       gettime (old_value);
+      if (old_value && (ret = gettime (old_value)) < 0)
+       __leave;
       if (new_value->it_value.tv_sec == 0 && new_value->it_value.tv_nsec == 0)
        ret = disarm_timer ();
       else

Reply via email to