]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
reference: don't adjust invalid reference time
authorMiroslav Lichvar <mlichvar@redhat.com>
Tue, 15 Aug 2017 08:01:27 +0000 (10:01 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Tue, 15 Aug 2017 11:27:50 +0000 (13:27 +0200)
reference.c

index 6b9ccc169c113360e3b016a074de24c54e09da19..7c656663a8321e69bf385f33bf1776dbf38e8deb 100644 (file)
@@ -156,7 +156,8 @@ handle_slew(struct timespec *raw,
   double delta;
   struct timespec now;
 
-  UTI_AdjustTimespec(&our_ref_time, cooked, &our_ref_time, &delta, dfreq, doffset);
+  if (!UTI_IsZeroTimespec(&our_ref_time))
+    UTI_AdjustTimespec(&our_ref_time, cooked, &our_ref_time, &delta, dfreq, doffset);
 
   if (change_type == LCL_ChangeUnknownStep) {
     UTI_ZeroTimespec(&last_ref_update);
@@ -267,6 +268,7 @@ REF_Initialise(void)
     fb_drift_timeout_id = 0;
   }
 
+  UTI_ZeroTimespec(&our_ref_time);
   UTI_ZeroTimespec(&last_ref_update);
   last_ref_update_interval = 0.0;