aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2022-07-22 10:53:26 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2022-07-22 10:53:26 -0400
commit00cf40328a3178b0be69ac75549fc5d6857b77c3 (patch)
tree805c559c9e321813b303c01a640e39a7fed74a59
parent202b56ba91cb6c0741cc9340ac57a50dbcdac549 (diff)
downloadpostgresql-00cf40328a3178b0be69ac75549fc5d6857b77c3.tar.gz
postgresql-00cf40328a3178b0be69ac75549fc5d6857b77c3.zip
Fix minor memory leaks in psql's tab completion.
Tang Haiying and Tom Lane Discussion: https://postgr.es/m/OS0PR01MB6113EA19F05E217C823B4CCAFB909@OS0PR01MB6113.jpnprd01.prod.outlook.com
-rw-r--r--src/bin/psql/tab-complete.c4
-rw-r--r--src/fe_utils/string_utils.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 080ce641d93..a5a77af074e 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -5159,6 +5159,10 @@ _complete_from_query(const char *simple_query,
/* Clean up */
termPQExpBuffer(&query_buffer);
+ if (schemaname)
+ free(schemaname);
+ if (objectname)
+ free(objectname);
free(e_object_like);
if (e_schemaname)
free(e_schemaname);
diff --git a/src/fe_utils/string_utils.c b/src/fe_utils/string_utils.c
index c3ea4fc1860..f311bdd3ad5 100644
--- a/src/fe_utils/string_utils.c
+++ b/src/fe_utils/string_utils.c
@@ -1227,4 +1227,7 @@ patternToSQLRegex(int encoding, PQExpBuffer dbnamebuf, PQExpBuffer schemabuf,
appendPQExpBufferStr(dbnamebuf, curbuf->data);
termPQExpBuffer(curbuf);
}
+
+ if (want_literal_dbname)
+ termPQExpBuffer(&left_literal);
}