BUG #6366: ECPG connection Memory Leak when using Host Variables
От | li_gang02@sina.com |
---|---|
Тема | BUG #6366: ECPG connection Memory Leak when using Host Variables |
Дата | |
Msg-id | E1RgUQT-0006v7-6U@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #6366: ECPG connection Memory Leak when using Host
Variables
|
Список | pgsql-bugs |
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
В списке pgsql-bugs по дате отправления: