pgpool2.git / summary / log / commit / refs

commit    eeca48acf2faf4c5a2048f8908019ce482dd38cb
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Mon Apr 09 00:03:56 2012 +0000

    Fix memory leak in pool_select_walker().


pool_select_walker.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pool_select_walker.c b/pool_select_walker.c index e80eda46b..082225797 100644 --- a/pool_select_walker.c +++ b/pool_select_walker.c @@ -843,6 +843,7 @@ select_table_walker(Node *node, void *context) RangeVar *rgv = (RangeVar *)node; char *table; int oid; + char *s; table = nodeToString(rgv); oid = pool_table_name_to_oid(table); @@ -858,7 +859,9 @@ select_table_walker(Node *node, void *context) num_oids = ctx->num_oids++; ctx->table_oids[num_oids] = oid; - strcpy(ctx->table_names[num_oids], strip_quote(table)); + s = strip_quote(table); + strcpy(ctx->table_names[num_oids], s); + free(s); pool_debug("select_table_walker: ctx->table_names[%d] = %s", num_oids, ctx->table_names[num_oids]); [parent: 10271e61dfbe]