postgres.git / summary / log / commit / refs
commit 8cadeb792cd08478a73cb0941bb67f03e8465090
Author: Andres Freund <andres@anarazel.de>
Date: Sun Jan 04 14:44:49 2015 +0000
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.
contrib/pg_test_timing/pg_test_timing.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/pg_test_timing/pg_test_timing.c b/contrib/pg_test_timing/pg_test_timing.c
index e44c535d093..e5c11de6bb4 100644
--- a/contrib/pg_test_timing/pg_test_timing.c
+++ b/contrib/pg_test_timing/pg_test_timing.c
@@ -115,7 +115,7 @@ test_timing(int32 duration)
end_time,
temp;
- 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);
[parent: d1c575230d49]