| 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: | Whole Thread | Raw Message | 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(-)
| 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() |