Fix minor memory leaks in psql's tab completion.
authorTom Lane <[email protected]>
Fri, 22 Jul 2022 14:53:26 +0000 (10:53 -0400)
committerTom Lane <[email protected]>
Fri, 22 Jul 2022 14:53:26 +0000 (10:53 -0400)
Tang Haiying and Tom Lane

Discussion: https://postgr.es/m/OS0PR01MB6113EA19F05E217C823B4CCAFB909@OS0PR01MB6113.jpnprd01.prod.outlook.com

src/bin/psql/tab-complete.c
src/fe_utils/string_utils.c

index 92207d2e160aa00444567e4f2cf2fc428277999c..5f06768085fe0e8bcec5d5720bef623bce49abaf 100644 (file)
@@ -5158,6 +5158,8 @@ _complete_from_query(const char *simple_query,
 
        /* Clean up */
        termPQExpBuffer(&query_buffer);
+       free(schemaname);
+       free(objectname);
        free(e_object_like);
        free(e_schemaname);
        free(e_ref_object);
index f9ea08705afb5ff11fb23025437c97684a0797f5..a2fa7a0c26ad858a9f0beb6ae371d639256d6a17 100644 (file)
@@ -1225,4 +1225,7 @@ patternToSQLRegex(int encoding, PQExpBuffer dbnamebuf, PQExpBuffer schemabuf,
            appendPQExpBufferStr(dbnamebuf, curbuf->data);
        termPQExpBuffer(curbuf);
    }
+
+   if (want_literal_dbname)
+       termPQExpBuffer(&left_literal);
 }