diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c index 8aa29bd22..174ab0a96 100644 --- a/src/ssl_ckch.c +++ b/src/ssl_ckch.c @@ -662,6 +662,9 @@ void ssl_sock_free_cert_key_and_chain_contents(struct cert_key_and_chain *ckch) struct cert_key_and_chain *ssl_sock_copy_cert_key_and_chain(struct cert_key_and_chain *src, struct cert_key_and_chain *dst) { + if (!src || !dst) + return NULL; + if (src->cert) { dst->cert = src->cert; X509_up_ref(src->cert); @@ -833,6 +836,9 @@ struct ckch_store *ckchs_dup(const struct ckch_store *src) { struct ckch_store *dst; + if (!src) + return NULL; + dst = ckch_store_new(src->path); if (!ssl_sock_copy_cert_key_and_chain(src->ckch, dst->ckch))