On Mon, Nov 02, 2026 at 10:38:28AM +0000, Christopher Staite wrote:
> Subject: [PATCH] BUG/MINOR: ssl/ckch: free the new instance when 
> ckch_inst_rebuild() fails
> ckch_inst_rebuild() creates the new ckch_inst of a "commit ssl cert" with
> its sni_ctx and SSL_CTX, then prepares the SSL_CTX of the server or of
> the bind line. When this preparation fails it returns an error to
> ckch_store_rebuild_instances() which only returns -1, so the new instance,
> which is not linked anywhere yet, is leaked with its SSL_CTXs, and with
> everything they reference (the certificate, the chain, the key, the CA
> file links).
> 
> The impact is a memory leak for each failed commit, which requires an
> admin to commit a certificate that doesn't fit its bind or server lines.
> 
> Free the instance with ckch_inst_free() and reset the pointer on these
> two error paths. The instance is not in any tree nor list at this point,
> which ckch_inst_free() handles. The first error path, after
> ckch_inst_new_load_store() or ckch_inst_new_load_srv_store(), is already
> fine since these functions never leave an instance behind on failure.
> 
> This should be backported to all stable branches, the function exists
> since 2.5.
> 

Thanks, merged!


-- 
William Lallemand


Reply via email to