Re: pgsql: Null-terminate the output buffer of LZ4Stream_gets - Mailing list pgsql-committers

From Thom Brown
Subject Re: pgsql: Null-terminate the output buffer of LZ4Stream_gets
Date
Msg-id CAA-aLv7JmKKjiaestoBJUDQKgM0pKx7NH7VC4spqYrg6+P_tDg@mail.gmail.com
Whole thread Raw
In response to pgsql: Null-terminate the output buffer of LZ4Stream_gets  (Tomas Vondra <tomas.vondra@postgresql.org>)
List pgsql-committers
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



pgsql-committers by date:

Previous
From: Tomas Vondra
Date:
Subject: pgsql: Null-terminate the output buffer of LZ4Stream_gets
Next
From: Tomas Vondra
Date:
Subject: pgsql: Advance input pointer when LZ4 compressing data