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 e35cc3b3f2 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
pull/151/head
Michael Paquier 2 years ago
parent da44ff312e
commit 64e77b496a
  1. 2
      src/bin/pgbench/pgbench.c

@ -4908,7 +4908,7 @@ initPopulateTable(PGconn *con, const char *table, int64 base,
initRowMethod init_row) initRowMethod init_row)
{ {
int n; int n;
int k; int64 k;
int chars = 0; int chars = 0;
PGresult *res; PGresult *res;
PQExpBufferData sql; PQExpBufferData sql;

Loading…
Cancel
Save