mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
psql: Fix invalid memory access
Due to an apparent thinko, when printing a table in expanded mode (\x), space would be allocated for 1 slot plus 1 byte per line, instead of 1 slot per line plus 1 slot for the NULL terminator. When the line count is small, reading or writing the terminator would therefore access memory beyond what was allocated.
This commit is contained in:
parent
f9325df0fc
commit
561ec76133
@ -1210,8 +1210,8 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
|
|||||||
* We now have all the information we need to setup the formatting
|
* We now have all the information we need to setup the formatting
|
||||||
* structures
|
* structures
|
||||||
*/
|
*/
|
||||||
dlineptr = pg_local_malloc((sizeof(*dlineptr) + 1) * dheight);
|
dlineptr = pg_local_malloc((sizeof(*dlineptr)) * (dheight + 1));
|
||||||
hlineptr = pg_local_malloc((sizeof(*hlineptr) + 1) * hheight);
|
hlineptr = pg_local_malloc((sizeof(*hlineptr)) * (hheight + 1));
|
||||||
|
|
||||||
dlineptr->ptr = pg_local_malloc(dformatsize);
|
dlineptr->ptr = pg_local_malloc(dformatsize);
|
||||||
hlineptr->ptr = pg_local_malloc(hformatsize);
|
hlineptr->ptr = pg_local_malloc(hformatsize);
|
||||||
|
Loading…
Reference in New Issue
Block a user