Skip to content

Commit 6f9b84a

Browse files
committed
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.
1 parent 029e41a commit 6f9b84a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

contrib/pg_test_timing/pg_test_timing.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ test_timing(int32 duration)
115115
static int64 histogram[32];
116116
char buf[100];
117117

118-
total_time = duration > 0 ? duration * 1000000 : 0;
118+
total_time = duration > 0 ? duration * INT64CONST(1000000) : 0;
119119

120120
INSTR_TIME_SET_CURRENT(start_time);
121121
cur = INSTR_TIME_GET_MICROSEC(start_time);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy