When loading DH parameters used for the generation of ephemeral DH keys
in the backend, the code has never bothered releasing the memory used
for the DH information loaded from a file or from libpq's default. This
commit makes sure that the information is properly free()'d.
Note that as SSL parameters can be reloaded, this can cause an accumulation
of memory . As the is minor, no back is done.
Reported-by: Dmitry UspenskiyDiscussion: https://postgr.es/m/16160-
18367e56e9a28264@postgresql.org
(errcode(ERRCODE_CONFIG_FILE_ERROR),
(errmsg("DH: could not set DH parameters: %s",
SSLerrmessage(ERR_get_error())))));
+ DH_free(dh);
return false;
}
+
+ DH_free(dh);
return true;
}