Fix double-free bug of WAL streaming buffer in pg_receivexlog.

This bug was introduced while refactoring in commit 74cbe96.
This commit is contained in:
Fujii Masao 2014-07-04 19:48:38 +09:00
parent 74cbe966fe
commit 4ccac92d08

View File

@ -1079,12 +1079,11 @@ CopyStreamPoll(PGconn *conn, long timeout_ms)
static int static int
CopyStreamReceive(PGconn *conn, long timeout, char **buffer) CopyStreamReceive(PGconn *conn, long timeout, char **buffer)
{ {
static char *copybuf = NULL; char *copybuf = NULL;
int rawlen; int rawlen;
if (copybuf != NULL) if (*buffer != NULL)
PQfreemem(copybuf); PQfreemem(*buffer);
copybuf = NULL;
*buffer = NULL; *buffer = NULL;
/* Try to receive a CopyData message */ /* Try to receive a CopyData message */