From b84fc7b5912a3c499f96a8256c4005e7d60bb648 Mon Sep 17 00:00:00 2001
From: Danmei Chen <danmei.chen@belledonne-communications.com>
Date: Mon, 22 Feb 2021 11:14:07 +0100
Subject: [PATCH] fix crash when no default proxy config

---
 coreapi/linphonecore.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index 3a07e1cb18..0916edb4ce 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -2470,11 +2470,15 @@ static void linphone_core_internal_notify_received(LinphoneCore *lc, LinphoneEve
 #ifdef HAVE_ADVANCED_IM
 		const LinphoneAddress *resource = linphone_event_get_resource(lev);
 		char *resourceAddrStr = linphone_address_as_string_uri_only(resource);
-		const char *factoryUri = linphone_proxy_config_get_conference_factory_uri(linphone_core_get_default_proxy_config(lc));
-		if (factoryUri && (strcmp(resourceAddrStr, factoryUri) == 0)) {
-			bctbx_free(resourceAddrStr);
-			L_GET_PRIVATE_FROM_C_OBJECT(lc)->remoteListEventHandler->notifyReceived(L_GET_CPP_PTR_FROM_C_OBJECT(body));
-			return;
+		const bctbx_list_t * elem;
+		for (elem=linphone_core_get_proxy_config_list(lc);elem!=NULL;elem=elem->next) {
+			LinphoneProxyConfig *proxy = (LinphoneProxyConfig*) elem->data;
+			const char *factoryUri = linphone_proxy_config_get_conference_factory_uri(proxy);
+			if (factoryUri && (strcmp(resourceAddrStr, factoryUri) == 0)) {
+				bctbx_free(resourceAddrStr);
+				L_GET_PRIVATE_FROM_C_OBJECT(lc)->remoteListEventHandler->notifyReceived(L_GET_CPP_PTR_FROM_C_OBJECT(body));
+				return;
+			}
 		}
 		bctbx_free(resourceAddrStr);
 
-- 
GitLab