postgres.git / summary / log / commit / refs

commit    5b5db413d26ff49e9fd6506258a838ba0a9ea151
Author:   Daniel Gustafsson <dgustafsson@postgresql.org>
Date:     Wed Dec 20 21:37:28 2023 +0000
First released in: 17.0, 16.2

    Fix unchecked return value from strdup
    
    The pg_dump compression was using strdup() instead of pg_strdup()
    and failed to check the returned pointer for out-of-memory before
    dereferencing it. Fix by using pg_strdup() instead which probably
    was the intention here in the original patch.
    
    Backpatch to v16 where pg_dump compression was introduced.
    
    Reviewed-by: Tristan Partin <tristan@neon.tech>
    Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
    Discussion: https://postgr.es/m/CC661D60-6F4C-474D-B9CF-E789ACA3CEFC@yesql.se
    Backpatch-through: 16


src/bin/pg_dump/compress_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_dump/compress_io.c b/src/bin/pg_dump/compress_io.c index 4fee6e24348..efedc53a173 100644 --- a/src/bin/pg_dump/compress_io.c +++ b/src/bin/pg_dump/compress_io.c @@ -249,7 +249,7 @@ InitDiscoverCompressFileHandle(const char *path, const char *mode) Assert(strcmp(mode, PG_BINARY_R) == 0); - fname = strdup(path); + fname = pg_strdup(path); if (hasSuffix(fname, ".gz")) compression_spec.algorithm = PG_COMPRESSION_GZIP; [parent: 94415b04ed0d]