From 2dca037508ee7f39d8558ca270a87b6c17316101 Mon Sep 17 00:00:00 2001
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
Date: Fri, 18 Aug 2023 09:53:05 -0300
Subject: [PATCH] misc: fix crash when getting status with unloaded plugin

If we have previously used the chathandler and it appears in the
allowDenyList but it is not loaded, we can have a crash.

Change-Id: I71fb4a94fdb074e36e535c2bc0776320eb5f51c0
---
 src/plugin/chatservicesmanager.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/plugin/chatservicesmanager.cpp b/src/plugin/chatservicesmanager.cpp
index 5585393787..a702b1188f 100644
--- a/src/plugin/chatservicesmanager.cpp
+++ b/src/plugin/chatservicesmanager.cpp
@@ -202,8 +202,9 @@ ChatServicesManager::getChatHandlerStatus(const std::string& accountId, const st
     std::vector<std::string> ret;
     if (it != allowDenyList_.end()) {
         for (const auto& chatHandlerName : it->second)
-            if (chatHandlerName.second) // We only return active ChatHandler ids
+            if (chatHandlerName.second && handlersNameMap_.find(chatHandlerName.first) != handlersNameMap_.end()) { // We only return active ChatHandler ids
                 ret.emplace_back(std::to_string(handlersNameMap_.at(chatHandlerName.first)));
+            }
     }
 
     return ret;
-- 
GitLab