From f1aeb278a68f189b6f941f72fa4005ae94ea0bb4 Mon Sep 17 00:00:00 2001 From: Abe Jellinek Date: Mon, 7 Oct 2024 17:05:21 -0400 Subject: [PATCH] FeedReader: Be safe when calling createDocumentFragment() Addresses #4733 --- chrome/content/zotero/xpcom/feedReader.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/chrome/content/zotero/xpcom/feedReader.js b/chrome/content/zotero/xpcom/feedReader.js index 513ace7bd4..f602a7cb2a 100644 --- a/chrome/content/zotero/xpcom/feedReader.js +++ b/chrome/content/zotero/xpcom/feedReader.js @@ -412,10 +412,12 @@ Zotero.FeedReader._getFeedItem = function (feedEntry, feedInfo) { if (feedEntry.content || feedEntry.summary) { let abstractFragment = (feedEntry.content || feedEntry.summary).createDocumentFragment(); - if (abstractFragment.querySelectorAll('body').length === 1) { - abstractFragment.replaceChildren(...abstractFragment.querySelector('body').childNodes); + if (abstractFragment) { + if (abstractFragment.querySelectorAll('body').length === 1) { + abstractFragment.replaceChildren(...abstractFragment.querySelector('body').childNodes); + } + item.abstractNote = new XMLSerializer().serializeToString(abstractFragment); } - item.abstractNote = new XMLSerializer().serializeToString(abstractFragment); } if (feedEntry.summary && !item.title) { @@ -531,6 +533,9 @@ Zotero.FeedReader._getRichText = function (feedText, field) { return feedText; } let domFragment = feedText.createDocumentFragment(); + if (!domFragment) { + return ''; + } return Zotero.Utilities.trimInternal(domFragment.textContent); };