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]