BUG #6366: ECPG connection Memory Leak when using Host Variables

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

Responses

Browse pgsql-bugs by date

  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