The following bug has been logged on the website:
Bug reference: 6366
Logged by: Gang, Li
Email address: li_gang02@sina.com
PostgreSQL version: 9.1.1
Operating system: openSUSE 11.4 (AMD CPU, x86_64bits)
Description:=20=20=20=20=20=20=20=20
Hallo,
/*
** PostgreSQL bug on ECPG connection when using Host Variables
**
** Reference:
**=20=20=20=20=20
http://doxygen.postgresql.org/interfaces_2ecpg_2ecpglib_2misc_8c_source.htm=
l#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 =3D n * sizeof(struct var_list), wher=
e 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 =3D ivlist;
** while (NULL !=3D workPtr)
** {
** ivlist =3D (struct var_list *)ivlist->next;
** free(workPtr);
** workPtr =3D ivlist;
** }
**
** ivlist =3D 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