]> granicus.if.org Git - postgresql/commitdiff
Fix copy-pasto in freeing memory on error in vacuumlo.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Jun 2019 09:44:06 +0000 (12:44 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Jun 2019 09:44:06 +0000 (12:44 +0300)
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

index ce5489f370b6e8cebea70a60a9fc182ebc111224..0f79b139cfb154edd08abeefd94881359b62fa51 100644 (file)
@@ -240,9 +240,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;
                }