pgsql: Avoid overflow in fe_utils' printTable()

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Avoid overflow in fe_utils' printTable()
Date: 2023-11-21 14:01:01
Message-ID: E1r5RJF-006Wty-2W@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Avoid overflow in fe_utils' printTable()

The original code would miscalculate the total number of cells when the
table to print has more than ~4 billion cells, leading to an unnecessary
error. Repair by changing some computations to be 64-bits wide. Add
some necessary overflow checks.

Author: Hongxu Ma <interma(at)outlook(dot)com>
Discussion: https://postgr.es/m/TYBP286MB0351B057B101C90D7C1239E6B4E2A@TYBP286MB0351.JPNP286.PROD.OUTLOOK.COM

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/24ea53dcfab7fe463c0cf56095e9fe5d23cdb748

Modified Files
--------------
src/fe_utils/print.c | 30 ++++++++++++++++++++++--------
src/include/fe_utils/print.h | 2 +-
2 files changed, 23 insertions(+), 9 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2023-11-21 15:12:13 pgsql: Remove unneeded assignments in for loop header
Previous Message Michael Paquier 2023-11-21 04:55:14 pgsql: Simplify some logic in CreateReplicationSlot()