summaryrefslogtreecommitdiff
path: root/contrib/pg_test_timing
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2015-01-04 15:44:49 +0100
committerAndres Freund <andres@anarazel.de>2015-01-04 15:52:52 +0100
commit7ced1b6c52b0e933813af7389c6ff77cf699f564 (patch)
treec346c5214d1c035bf1e367a9864a9418c4e3ef24 /contrib/pg_test_timing
parent835a48702e550b6c9958bb053aa6c458971536d0 (diff)
downloadpostgresql-7ced1b6c52b0e933813af7389c6ff77cf699f564.tar.gz
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.
Diffstat (limited to 'contrib/pg_test_timing')
-rw-r--r--contrib/pg_test_timing/pg_test_timing.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/pg_test_timing/pg_test_timing.c b/contrib/pg_test_timing/pg_test_timing.c
index e44c535d09..e5c11de6bb 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);