Avoid overflow in fe_utils' printTable()
commit24ea53dcfab7fe463c0cf56095e9fe5d23cdb748
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 21 Nov 2023 13:55:29 +0000 (21 14:55 +0100)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 21 Nov 2023 13:55:29 +0000 (21 14:55 +0100)
tree5eff8074d38bff21075dc669f740da977f38ea2a
parente83aa9f92fdd88c2912cc43a61fd9f59f4c8f4d3
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@outlook.com>
Discussion: https://postgr.es/m/TYBP286MB0351B057B101C90D7C1239E6B4E2A@TYBP286MB0351.JPNP286.PROD.OUTLOOK.COM
src/fe_utils/print.c
src/include/fe_utils/print.h