From: | li_gang02(at)sina(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #6366: ECPG connection Memory Leak when using Host Variables |
Date: | 2011-12-30 04:50:41 |
Message-ID: | E1RgUQT-0006v7-6U@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 6366
Logged by: Gang, Li
Email address: li_gang02(at)sina(dot)com
PostgreSQL version: 9.1.1
Operating system: openSUSE 11.4 (AMD CPU, x86_64bits)
Description:
Hallo,
/*
** PostgreSQL bug on ECPG connection when using Host Variables
**
** Reference:
**
http://doxygen.postgresql.org/interfaces_2ecpg_2ecpglib_2misc_8c_source.html#l00512
** File:
** postgresql-9.1.1/src/interfaces/ecpg/ecpglib/misc.c
** Description:
** Function ECPGset_var() will call calloc() to allocate memory for a
new node.
** And all nodes are appended to a static global list named 'static
struct var_list'.
** But the list memory is never been freed with free() in any case, and
no relative function
** is available for me. After ECPG connection is disconnected,
ECPGset_var() resultes
** in memory leak (TotalSize = n * sizeof(struct var_list), where n
is maxium
** of Host Variables used in a DB Connection).
**
** Bug Fixing:
** A new function should be added, details as folloging
** void ECPGfree_var()
** {
** struct var_list *workPtr = ivlist;
** while (NULL != workPtr)
** {
** ivlist = (struct var_list *)ivlist->next;
** free(workPtr);
** workPtr = ivlist;
** }
**
** ivlist = NULL;
** }
**
** Also, above function ECPGfree_var() should be called after all SQL
queries, and before
** current ECPG connection is going to be closed.
*/
Best Regards,
Gang, Li
From | Date | Subject | |
---|---|---|---|
Next Message | thangalin | 2011-12-30 14:17:29 | BUG #6367: Missing pg_config |
Previous Message | Havasvölgyi Ottó | 2011-12-30 02:43:37 | Re: BUG #6365: Memory leak in insert and update |