| commit | dc5d49da82e8ad2d2ae32aa40e53c62817902fc7 | [log] |
|---|---|---|
| author | Muhammet Kara <muhammet.kara@collabora.com> | Sat May 29 18:17:54 2021 +0300 |
| committer | Caolán McNamara <caolanm@redhat.com> | Tue Jun 01 09:49:44 2021 +0200 |
| tree | 674cb0ea41e05d1d3a78cc5f5218d3d7f46f72f6 | |
| parent | 601260714561a22a1250ceeb7b746d80a7f7f7ff [diff] |
tdf#136292: Fix crash on invalid JSON from the extensions API Change-Id: I91ed555f93173dee10e87025b231560693be50b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116390 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com> (cherry picked from commit e98b0891d6e0f1d6be4e4a4761bd1ab16bfab85c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116168 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 9a9089d0f7c205ed6428e55fb86062c715483a4b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116171 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/cui/source/dialogs/AdditionsDialog.cxx b/cui/source/dialogs/AdditionsDialog.cxx index 8bd5dee..a80e856 100644 --- a/cui/source/dialogs/AdditionsDialog.cxx +++ b/cui/source/dialogs/AdditionsDialog.cxx
@@ -45,6 +45,7 @@ #include <com/sun/star/task/XInteractionApprove.hpp> #include <orcus/json_document_tree.hpp> #include <orcus/json_parser.hpp> #include <orcus/config.hpp> #include <orcus/pstring.hpp> @@ -124,7 +125,15 @@ void parseResponse(const std::string& rResponse, std::vector<AdditionInfo>& aAdd if (rResponse.empty()) return; aJsonDoc.load(rResponse, aConfig); try { aJsonDoc.load(rResponse, aConfig); } catch (const orcus::json::parse_error&) { TOOLS_WARN_EXCEPTION("cui.dialogs", "Invalid JSON file from the extensions API"); return; } auto aDocumentRoot = aJsonDoc.get_document_root(); if (aDocumentRoot.type() != orcus::json::node_t::object)