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
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;
}