From f4b2797ac32719b616e5863598839b2f8d76c00f Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 7 Jun 2017 09:41:33 +0200 Subject: [PATCH] OO-2808: make the read item method robust against empty file --- .../olat/modules/webFeed/managers/FeedManagerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java b/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java index 2ce5a11370b..5e8e9fc3896 100644 --- a/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java +++ b/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java @@ -45,6 +45,7 @@ import org.olat.core.gui.media.MediaResource; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.AssertException; +import org.olat.core.logging.OLATRuntimeException; import org.olat.core.logging.OLog; import org.olat.core.util.CodeHelper; import org.olat.core.util.Encoder; @@ -579,14 +580,19 @@ public class FeedManagerImpl extends FeedManager { * @param container * @return The item */ + @Override public Item loadItem(VFSItem container) { VFSLeaf itemLeaf = null; Item item = null; if (container != null) { itemLeaf = (VFSLeaf) container.resolve(ITEM_FILE_NAME); - if (itemLeaf != null) { - item = (Item) XStreamHelper.readObject(xstream, itemLeaf.getInputStream()); + if (itemLeaf != null && itemLeaf.getSize() > 0) { + try { + item = (Item) XStreamHelper.readObject(xstream, itemLeaf.getInputStream()); + } catch (OLATRuntimeException e) { + log.error("Corrupted or empty feed item:" + itemLeaf, e); + } } } return item; -- GitLab