mirror of https://github.com/postgres/postgres
Correctly handle test durations of more than 2147s in pg_test_timing.
Previously the computation of the total test duration, measured in microseconds, accidentally overflowed due to accidentally using signed 32bit arithmetic. As the only consequence is that pg_test_timing invocations with such, overly large, durations never finished the practical consequences of this bug are minor. Pointed out by Coverity. Backpatch to 9.2 where pg_test_timing was added.
This commit is contained in:
parent
029e41afd2
commit
6f9b84a401
|
@ -115,7 +115,7 @@ test_timing(int32 duration)
|
|||
static int64 histogram[32];
|
||||
char buf[100];
|
||||
|
||||
total_time = duration > 0 ? duration * 1000000 : 0;
|
||||
total_time = duration > 0 ? duration * INT64CONST(1000000) : 0;
|
||||
|
||||
INSTR_TIME_SET_CURRENT(start_time);
|
||||
cur = INSTR_TIME_GET_MICROSEC(start_time);
|
||||
|
|
Loading…
Reference in New Issue