diff --git a/src/bin/pg_basebackup/streamutil.c b/src/bin/pg_basebackup/streamutil.c index 1b9005722a..410116492e 100644 --- a/src/bin/pg_basebackup/streamutil.c +++ b/src/bin/pg_basebackup/streamutil.c @@ -313,9 +313,12 @@ RetrieveWalSegSize(PGconn *conn) if (sscanf(PQgetvalue(res, 0, 0), "%d%s", &xlog_val, xlog_unit) != 2) { pg_log_error("WAL segment size could not be parsed"); + PQclear(res); return false; } + PQclear(res); + /* set the multiplier based on unit to convert xlog_val to bytes */ if (strcmp(xlog_unit, "MB") == 0) multiplier = 1024 * 1024; @@ -334,7 +337,6 @@ RetrieveWalSegSize(PGconn *conn) return false; } - PQclear(res); return true; }