diff options
author | Fujii Masao <fujii@postgresql.org> | 2014-07-04 19:48:38 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2014-07-04 19:48:38 +0900 |
commit | 4ccac92d08f22ef0f8df29ea6bd9d5e77bf1d246 (patch) | |
tree | e6cf6eeda517d66d1c4024c6dd970c12f533ee08 /src | |
parent | 74cbe966fe2d76de1d607d933c98c144dab58769 (diff) | |
download | postgresql-4ccac92d08f22ef0f8df29ea6bd9d5e77bf1d246.tar.gz postgresql-4ccac92d08f22ef0f8df29ea6bd9d5e77bf1d246.zip |
Fix double-free bug of WAL streaming buffer in pg_receivexlog.
This bug was introduced while refactoring in commit 74cbe96.
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_basebackup/receivelog.c | 7 |
1 files 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 */ |