From fc19d242a581dbca8756ec121bca4046676bc0ed Mon Sep 17 00:00:00 2001 From: Simon Morlat <simon.morlat@linphone.org> Date: Wed, 5 Sep 2018 14:54:09 +0200 Subject: [PATCH] Avoid a crash when the dtls user certificate path is not set. --- coreapi/bellesip_sal/sal_impl.c | 3 +++ src/conference/session/media-session.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/coreapi/bellesip_sal/sal_impl.c b/coreapi/bellesip_sal/sal_impl.c index 3f7126b658..d0215c3a26 100644 --- a/coreapi/bellesip_sal/sal_impl.c +++ b/coreapi/bellesip_sal/sal_impl.c @@ -247,6 +247,9 @@ void sal_certificates_chain_parse_directory(char **certificate_pem, char **key_p *certificate_pem = belle_sip_certificates_chain_get_pem(certificate); *key_pem = belle_sip_signing_key_get_pem(key); ms_message("Generate self-signed certificate with CN=%s successful\n", subject); + }else{ + ms_error("Self-signed certificate generation failed."); + return; } } } diff --git a/src/conference/session/media-session.cpp b/src/conference/session/media-session.cpp index 33c150e3bf..32042b40b5 100644 --- a/src/conference/session/media-session.cpp +++ b/src/conference/session/media-session.cpp @@ -1757,6 +1757,7 @@ void MediaSessionPrivate::setupDtlsParams (MediaStream *ms) { char *certificate = nullptr; char *key = nullptr; char *fingerprint = nullptr; + sal_certificates_chain_parse_directory(&certificate, &key, &fingerprint, linphone_core_get_user_certificates_path(q->getCore()->getCCore()), "linphone-dtls-default-identity", SAL_CERTIFICATE_RAW_FORMAT_PEM, true, true); if (fingerprint) { -- GitLab