From 6910032a56dd3841be137b4bef7c57ef32a60ac8 Mon Sep 17 00:00:00 2001 From: Neil Conway Date: Wed, 18 May 2005 05:01:10 +0000 Subject: [PATCH] Upon closer inspection, Greg's psql tab completion patch leaks memory. Fix the leak, and add a comment to note that the return value of previous_word must be free'd. --- src/bin/psql/tab-complete.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 015dbd4779..571d7b34cf 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.128 2005/05/18 04:47:40 neilc Exp $ + * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.129 2005/05/18 05:01:10 neilc Exp $ */ /*---------------------------------------------------------------------- @@ -1802,6 +1802,7 @@ psql_completion(char *text, int start, int end) free(prev2_wd); free(prev3_wd); free(prev4_wd); + free(prev5_wd); /* Return our Grand List O' Matches */ return matches; @@ -2168,9 +2169,11 @@ exec_query(const char *query) -/* Return the word (space delimited) before point. Set skip > 0 to skip that - many words; e.g. skip=1 finds the word before the previous one. -*/ +/* + * Return the word (space delimited) before point. Set skip > 0 to + * skip that many words; e.g. skip=1 finds the word before the + * previous one. Return value is NULL or a malloc'ed string. + */ static char * previous_word(int point, int skip) {