pg_dump: Set private_date pointer to NULL in callback
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 17 Apr 2025 10:58:00 +0000 (12:58 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 17 Apr 2025 10:58:00 +0000 (12:58 +0200)
The end callback for ZStandard compression frees the private_data
but didn't set the pointer to NULL after freeing.  This is not a
bug as the code is right now, since nothing is dereferencing the
pointer upon returning from the callback but it is good practice
to do.

Author: Alexander Kuznetsov <kuznetsovam@altlinux.org>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/efaee52b-9550-44ca-8633-ea86076b3283@altlinux.org

src/bin/pg_dump/compress_zstd.c

index 1f7b4942706b4848506938ef5a8c207d94780a36..cb595b10c2d32e8aecb15a2f695190dc33a151ef 100644 (file)
@@ -142,6 +142,7 @@ EndCompressorZstd(ArchiveHandle *AH, CompressorState *cs)
    /* output buffer may be allocated in either mode */
    pg_free(zstdcs->output.dst);
    pg_free(zstdcs);
+   cs->private_data = NULL;
 }
 
 static void