diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index eece99ab1d6e5c3f21bf96807f1895e408d7ef52..817d83b9cb4382565e663b92ea86e1dd4adb0c4d 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; } }