From 544c83a64c89d0f9d8b0645ad0ca62e566f02ccf Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Fri, 28 Jul 2017 10:38:01 -0300 Subject: [PATCH] Close InputStream from RSS feed and prevent NPE --- .../org/briarproject/briar/feed/FeedManagerImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java index ab0b5d0475..2b29393703 100644 --- a/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/feed/FeedManagerImpl.java @@ -59,6 +59,7 @@ import okhttp3.Dns; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import okhttp3.ResponseBody; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; @@ -334,7 +335,9 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, private SyndFeed fetchSyndFeed(String url) throws FeedException, IOException { // fetch feed - SyndFeed f = getSyndFeed(getFeedInputStream(url)); + InputStream stream = getFeedInputStream(url); + SyndFeed f = getSyndFeed(stream); + stream.close(); if (f.getEntries().size() == 0) throw new FeedException("Feed has no entries"); @@ -387,7 +390,9 @@ class FeedManagerImpl implements FeedManager, Client, EventListener, // Execute Request Response response = client.newCall(request).execute(); - return response.body().byteStream(); + ResponseBody body = response.body(); + if (body != null) return body.byteStream(); + throw new IOException("Empty response body"); } private SyndFeed getSyndFeed(InputStream stream) -- GitLab