From 64e77b496af61ee31189ba69b40e785e11e9967f Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Sun, 24 Dec 2023 11:49:14 +0900 Subject: [PATCH] pgbench: Fix overflow in table populating when rows >= 2^31-1 Using a scale factor large enough so as the number of rows to insert gets larger than INT32_MAX would cause an infinite loop in initPopulateTable(), preventing pgbench to finish its initialization. Oversight in e35cc3b3f2d0 that has refactored the data generation logic. Author: John Hsu Reviewed-by: Tatsuo Ishii, Japin Li Discussion: https://postgr.es/m/CA+-JvFvHsOafjHcuFPfkyouHNZvbOXhBNhwZxKm3WNgYz9bwzA@mail.gmail.com --- src/bin/pgbench/pgbench.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 2e1650d0ad..1253f1989e 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -4908,7 +4908,7 @@ initPopulateTable(PGconn *con, const char *table, int64 base, initRowMethod init_row) { int n; - int k; + int64 k; int chars = 0; PGresult *res; PQExpBufferData sql;