mirror of
https://github.com/postgres/postgres.git
synced 2026-01-27 21:43:08 +03:00
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
This commit is contained in:
@@ -171,7 +171,7 @@ typedef struct printTableContent
|
||||
const char **cells; /* NULL-terminated array of cell content
|
||||
* strings */
|
||||
const char **cell; /* Pointer to the last added cell */
|
||||
long cellsadded; /* Number of cells added this far */
|
||||
uint64 cellsadded; /* Number of cells added this far */
|
||||
bool *cellmustfree; /* true for cells that need to be free()d */
|
||||
printTableFooter *footers; /* Pointer to the first footer */
|
||||
printTableFooter *footer; /* Pointer to the last added footer */
|
||||
|
||||
Reference in New Issue
Block a user