Commit 561ec761 authored by Peter Eisentraut's avatar Peter Eisentraut

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.
parent f9325df0
......@@ -1210,8 +1210,8 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
* We now have all the information we need to setup the formatting
* structures
*/
dlineptr = pg_local_malloc((sizeof(*dlineptr) + 1) * dheight);
hlineptr = pg_local_malloc((sizeof(*hlineptr) + 1) * hheight);
dlineptr = pg_local_malloc((sizeof(*dlineptr)) * (dheight + 1));
hlineptr = pg_local_malloc((sizeof(*hlineptr)) * (hheight + 1));
dlineptr->ptr = pg_local_malloc(dformatsize);
hlineptr->ptr = pg_local_malloc(hformatsize);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment