diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2012-03-16 20:30:19 +0200 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2012-03-16 20:35:00 +0200 |
commit | d4318483e151b41cd663e7b36a5539d3c5048c5a (patch) | |
tree | fd8c154dca8561f594b3a477f8e69df94770c1e3 | |
parent | 598bb8cdbd9c2554bd8acfc51c9fed473a7d37bc (diff) | |
download | postgresql-d4318483e151b41cd663e7b36a5539d3c5048c5a.tar.gz postgresql-d4318483e151b41cd663e7b36a5539d3c5048c5a.zip |
libpq: Fix minor memory leaks
When using connection info arrays with a conninfo string in the dbname
slot, some memory would be leaked if an error occurred while
processing the following array slots.
found by Coverity
-rw-r--r-- | src/interfaces/libpq/fe-connect.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index eece99ab1d6..817d83b9cb4 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -4303,6 +4303,7 @@ conninfo_array_parse(const char *const * keywords, const char *const * values, { printfPQExpBuffer(errorMessage, libpq_gettext("out of memory\n")); + PQconninfoFree(str_options); return NULL; } memcpy(options, PQconninfoOptions, sizeof(PQconninfoOptions)); @@ -4330,6 +4331,7 @@ conninfo_array_parse(const char *const * keywords, const char *const * values, libpq_gettext("invalid connection option \"%s\"\n"), pname); PQconninfoFree(options); + PQconninfoFree(str_options); return NULL; } @@ -4374,6 +4376,7 @@ conninfo_array_parse(const char *const * keywords, const char *const * values, printfPQExpBuffer(errorMessage, libpq_gettext("out of memory\n")); PQconninfoFree(options); + PQconninfoFree(str_options); return NULL; } } |