Обсуждение: pgsql: Null-terminate the output buffer of LZ4Stream_gets
Null-terminate the output buffer of LZ4Stream_gets LZ4Stream_gets did not null-terminate its output buffer. The callers expected the buffer to be null-terminated and passed it around to functions such as sscanf with unintended consequences. Author: Georgios Kokolatos <gkokolatos@pm.me> Reported-by: Alexander Lakhin <exclusion@gmail.com> Discussion: https://postgr.es/m/94ae9bca-5ebb-1e68-bb7b-4f32e89fefbe@gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/3c18d90f8907e53c3021fca13ad046133c480e4d Modified Files -------------- src/bin/pg_dump/compress_lz4.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
On Wed, 17 May 2023 at 15:38, Tomas Vondra <tomas.vondra@postgresql.org> wrote: > > Null-terminate the output buffer of LZ4Stream_gets > > LZ4Stream_gets did not null-terminate its output buffer. The callers expected > the buffer to be null-terminated and passed it around to functions such as > sscanf with unintended consequences. > > Author: Georgios Kokolatos <gkokolatos@pm.me> > Reported-by: Alexander Lakhin <exclusion@gmail.com> > Discussion: https://postgr.es/m/94ae9bca-5ebb-1e68-bb7b-4f32e89fefbe@gmail.com > > Branch > ------ > master > > Details > ------- > https://git.postgresql.org/pg/commitdiff/3c18d90f8907e53c3021fca13ad046133c480e4d > > Modified Files > -------------- > src/bin/pg_dump/compress_lz4.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) Forgive the noise, but how is ptr[ret - 1] = '\0' not overwriting the last character? Thom