postgres.git / summary / log / commit / refs

commit    4ccac92d08f22ef0f8df29ea6bd9d5e77bf1d246
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Fri Jul 04 10:48:38 2014 +0000

    Fix double-free bug of WAL streaming buffer in pg_receivexlog.
    
    This bug was introduced while refactoring in commit 74cbe96.


src/bin/pg_basebackup/receivelog.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c index 4aa35da2fce..97a078526a3 100644 --- a/src/bin/pg_basebackup/receivelog.c +++ b/src/bin/pg_basebackup/receivelog.c @@ -1079,12 +1079,11 @@ CopyStreamPoll(PGconn *conn, long timeout_ms) static int CopyStreamReceive(PGconn *conn, long timeout, char **buffer) { - static char *copybuf = NULL; + char *copybuf = NULL; int rawlen; - if (copybuf != NULL) - PQfreemem(copybuf); - copybuf = NULL; + if (*buffer != NULL) + PQfreemem(*buffer); *buffer = NULL; /* Try to receive a CopyData message */ [parent: 74cbe966fe2d]