Use correct sign for state file clock skew

or_state_load() was using an incorrect sign convention when calling
clock_skew_warning() to warn about state file clock skew.  This caused
the wording of the warning to be incorrect about the direction of the
skew.
This commit is contained in:
Taylor Yu 2017-09-20 16:54:56 -05:00
parent ac8e26a415
commit 1c017edac3
2 changed files with 6 additions and 2 deletions

4
changes/bug23606 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (bootstrapping):
- When warning about state file clock skew, report the correct
direction for the detected skew. Fixes bug 23606; bugfix on
0.2.8.1-alpha.

View File

@ -404,8 +404,8 @@ or_state_load(void)
log_info(LD_GENERAL, "Loaded state from \"%s\"", fname);
/* Warn the user if their clock has been set backwards,
* they could be tricked into using old consensuses */
time_t apparent_skew = new_state->LastWritten - time(NULL);
if (apparent_skew > 0)
time_t apparent_skew = time(NULL) - new_state->LastWritten;
if (apparent_skew < 0)
clock_skew_warning(NULL, (long)apparent_skew, 1, LD_GENERAL,
"local state file", fname);
} else {