diff --git a/src/interfaces/ecpg/ecpglib/prepare.c b/src/interfaces/ecpg/ecpglib/prepare.c index 0dcf736390..6edff5c0c0 100644 --- a/src/interfaces/ecpg/ecpglib/prepare.c +++ b/src/interfaces/ecpg/ecpglib/prepare.c @@ -754,7 +754,11 @@ ecpg_update_declare_statement(const char *declared_name, const char *cursor_name /* Find the declared node by declared name */ p = ecpg_find_declared_statement(declared_name); if (p) + { + if (p->cursor_name) + ecpg_free(p->cursor_name); p->cursor_name = ecpg_strdup(cursor_name, lineno); + } } /*