]> granicus.if.org Git - python/commitdiff
Issue #22043: Fix _PyTime_gettimeofday() if HAVE_GETTIMEOFDAY
authorVictor Stinner <victor.stinner@gmail.com>
Tue, 2 Sep 2014 21:01:40 +0000 (23:01 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Tue, 2 Sep 2014 21:01:40 +0000 (23:01 +0200)
Ensure also that the tv_usec field is consistent: in range [0; 999999].

Python/pytime.c

index 31c8f66d11ce6d808d91bf194684690717e2b3d6..395a432da53b1989a13c92d6f71502279bb9dbca 100644 (file)
@@ -37,7 +37,6 @@ pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise)
         info->resolution = timeIncrement * 1e-7;
         info->adjustable = 1;
     }
-    return 0;
 
 #else   /* MS_WINDOWS */
     int err;
@@ -67,11 +66,9 @@ pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise)
         else
             info->resolution = 1e-9;
     }
-    return 0;
 #else   /* HAVE_CLOCK_GETTIME */
 
      /* test gettimeofday() */
-#ifdef HAVE_GETTIMEOFDAY
 #ifdef GETTIMEOFDAY_NO_TZ
     err = gettimeofday(tp);
 #else
@@ -89,10 +86,10 @@ pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise)
         info->monotonic = 0;
         info->adjustable = 1;
     }
-    return 0;
-#endif   /* HAVE_GETTIMEOFDAY */
 #endif   /* !HAVE_CLOCK_GETTIME */
 #endif   /* !MS_WINDOWS */
+    assert(0 <= tp->tv_usec && tp->tv_usec < 1000 * 1000);
+    return 0;
 }
 
 void