diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-25 11:51:15 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-26 12:25:01 -0400 |
commit | 4d11a468b20a116978f89115a75cdc45fe5da8ad (patch) | |
tree | e8d45392014b39707a9bbfb6af9be3549175c55d | |
parent | eb54a856a298aff8b2cdadf87247a33a74921c49 (diff) | |
download | tor-4d11a468b20a116978f89115a75cdc45fe5da8ad.tar.gz tor-4d11a468b20a116978f89115a75cdc45fe5da8ad.zip |
Correct two state-file variable types.
These should have been int, but we had listed them as unsigned.
That's an easy mistake to make, since "int" corresponds with either
INT or UINT in the configuration file.
This bug cannot have actually caused a problem in practice, since we
check those fields' values on load, and ensure that they are in
range 0..INT32_MAX.
-rw-r--r-- | src/or/circuitstats.c | 8 | ||||
-rw-r--r-- | src/or/or.h | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/or/circuitstats.c b/src/or/circuitstats.c index ad0630e27e..923a6d794f 100644 --- a/src/or/circuitstats.c +++ b/src/or/circuitstats.c @@ -910,7 +910,7 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt, int tot_values = 0; uint32_t loaded_cnt = 0, N = 0; config_line_t *line; - unsigned int i; + int i; build_time_t *loaded_times; int err = 0; circuit_build_times_init(cbt); @@ -960,8 +960,8 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt, break; } - if (loaded_cnt+count+state->CircuitBuildAbandonedCount - > state->TotalBuildTimes) { + if (loaded_cnt+count+ (unsigned)state->CircuitBuildAbandonedCount + > (unsigned) state->TotalBuildTimes) { log_warn(LD_CIRC, "Too many build times in state file. " "Stopping short before %d", @@ -986,7 +986,7 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt, loaded_times[loaded_cnt++] = CBT_BUILD_ABANDONED; } - if (loaded_cnt != state->TotalBuildTimes) { + if (loaded_cnt != (unsigned)state->TotalBuildTimes) { log_warn(LD_CIRC, "Corrupt state file? Build times count mismatch. " "Read %d times, but file says %d", loaded_cnt, diff --git a/src/or/or.h b/src/or/or.h index a90841fbcf..84913efc4d 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -4686,8 +4686,8 @@ typedef struct { /** Build time histogram */ config_line_t * BuildtimeHistogram; - unsigned int TotalBuildTimes; - unsigned int CircuitBuildAbandonedCount; + int TotalBuildTimes; + int CircuitBuildAbandonedCount; /** What version of Tor wrote this state file? */ char *TorVersion; |