summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/ecpglib
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2019-07-02 03:51:13 +0200
committerMichael Meskes <meskes@postgresql.org>2019-07-03 03:17:06 +0200
commite72489e101b21c328e3d10ca64e5367c60f424a5 (patch)
tree0420a74b9fef483a40b6db6c136546f1785880f3 /src/interfaces/ecpg/ecpglib
parent8372e3c98fbbd529e4545c4d7982e278e118958e (diff)
downloadpostgresql-e72489e101b21c328e3d10ca64e5367c60f424a5.tar.gz
Fix small memory leak in ecpglib ecpg_update_declare_statement() is called the
second time. Author: "Zhang, Jie" <zhangjie2@cn.fujitsu.com>
Diffstat (limited to 'src/interfaces/ecpg/ecpglib')
-rw-r--r--src/interfaces/ecpg/ecpglib/prepare.c4
1 files changed, 4 insertions, 0 deletions
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);
+ }
}
/*