From 77b68e3a4f854d95350a3366ecfc8b3b506ebaa7 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Fri, 7 Jun 2019 12:42:27 +0300 Subject: [PATCH] Fix copy-pasto in freeing memory on error in vacuumlo. It's harmless to call PQfreemem() with a NULL argument, so the only consequence was that if allocating 'schema' failed, but allocating 'table' or 'field' succeeded, we would leak a bit of memory. That's highly unlikely to happen, so this is just academical, but let's get it right. Per bug #15838 from Timur Birsh. Backpatch back to 9.5, where the PQfreemem() calls were introduced. Discussion: https://www.postgresql.org/message-id/15838-3221652c72c5e69d@postgresql.org --- contrib/vacuumlo/vacuumlo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c index ac3ff60e81..73c06a043e 100644 --- a/contrib/vacuumlo/vacuumlo.c +++ b/contrib/vacuumlo/vacuumlo.c @@ -243,9 +243,9 @@ vacuumlo(const char *database, const struct _param *param) PQfinish(conn); if (schema != NULL) PQfreemem(schema); - if (schema != NULL) + if (table != NULL) PQfreemem(table); - if (schema != NULL) + if (field != NULL) PQfreemem(field); return -1; }