From: Tatsuo Ishii Date: Wed, 14 Aug 2019 00:14:36 +0000 (+0900) Subject: Fix memory leak. X-Git-Tag: V3_4_25~1 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=cf021026cbe83d25408e79b1fea8d6550181c0dd;p=pgpool2.git Fix memory leak. Pointed out by Coverity. --- diff --git a/src/parser/outfuncs.c b/src/parser/outfuncs.c index ad88a752b..1f1c0686d 100644 --- a/src/parser/outfuncs.c +++ b/src/parser/outfuncs.c @@ -3568,6 +3568,8 @@ _outDropStmt(String *str, DropStmt *node) { List *objname; char *p; + char *p1; + List *l; string_append_char(str, "DROP "); switch (node->removeType) @@ -3664,8 +3666,12 @@ _outDropStmt(String *str, DropStmt *node) objname = lfirst(list_head(node->objects)); string_append_char(str, strVal(llast(objname))); string_append_char(str, " ON "); - string_append_char(str, NameListToString(list_truncate(list_copy(objname), - list_length(objname) - 1))); + l = list_truncate(list_copy(objname), + list_length(objname) - 1); + p = NameListToString(l); + string_append_char(str, p); + pfree(p); + list_free(l); break; case OBJECT_OPERATOR: @@ -3681,11 +3687,15 @@ _outDropStmt(String *str, DropStmt *node) string_append_char(str, strVal(llast(objname))); string_append_char(str, " USING "); string_append_char(str, "'"); - p = escape_string(NameListToString(list_truncate(list_copy(objname), list_length(objname) - 1))); - string_append_char(str, p); + l = list_truncate(list_copy(objname), + list_length(objname) - 1); + p = NameListToString(l); + p1 = escape_string(p); + string_append_char(str, p1); + pfree(p1); pfree(p); + list_free(l); string_append_char(str, "'"); - break; case OBJECT_CAST: