From 324b15bb2f35f5c779c26a3ccf43299c397783dd Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 3 Oct 2013 17:04:29 +0200
Subject: [PATCH] OO-803: more exception catching for external blogs

---
 .../olat/modules/webFeed/managers/FeedManagerImpl.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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 35d29327b0d..3becd59efc5 100644
--- a/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java
+++ b/src/main/java/org/olat/modules/webFeed/managers/FeedManagerImpl.java
@@ -28,6 +28,7 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import org.apache.commons.io.IOUtils;
 import org.olat.admin.quota.QuotaConstants;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl;
@@ -476,11 +477,17 @@ public class FeedManagerImpl extends FeedManager {
 		SyndFeed feed = null;
 		SyndFeedInput input = new SyndFeedInput();
 		String feedURL = extFeed.getExternalFeedUrl();
+		
+		XmlReader reader = null;
 		try {
 			URL url = new URL(feedURL);
-			feed = input.build(new XmlReader(url));
+			reader = new XmlReader(url);
+			feed = input.build(reader);
 			// also add the external image url just in case we'll need it later
 			addExternalImageURL(feed, extFeed);
+		} catch(IllegalArgumentException e) {
+			log.warn("The external feed is invalid: " + feedURL, e);
+			IOUtils.closeQuietly(reader);
 		} catch (MalformedURLException e) {
 			log.info("The externalFeedUrl is invalid: " + feedURL);
 		} catch (FeedException e) {
-- 
GitLab