summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorTom Hennen <TomHennen@users.noreply.github.com>2015-12-20 08:49:46 -0500
committerTom Hennen <TomHennen@users.noreply.github.com>2015-12-20 08:49:46 -0500
commit85e1924085793ec4a19f8ebbb6453fde819ef85b (patch)
treeabf32758e564a6aef81a9bea9c1a641224da95af /app/src/main/java/de/danoeh
parentda804e97ae009dc47ce97b706b9c659f6ed63fbd (diff)
parent19cce4cd2a04b7ba47a0e6922fab07dc0b7d2121 (diff)
downloadAntennaPod-85e1924085793ec4a19f8ebbb6453fde819ef85b.zip
Merge pull request #1480 from mfietz/issue/1479-negative-index
ItemAccess: Prevent ArrayIndexOutOfBoundsException
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java8
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java6
10 files changed, 35 insertions, 11 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index 39e86f94a..442515010 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -819,7 +819,7 @@ public class AudioplayerActivity extends MediaplayerActivity implements ItemDesc
@Override
public Feed getItem(int position) {
- if (navDrawerData != null && position < navDrawerData.feeds.size()) {
+ if (navDrawerData != null && 0 <= position && position < navDrawerData.feeds.size()) {
return navDrawerData.feeds.get(position);
} else {
return null;
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 2e626776b..017c28dbf 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -615,7 +615,7 @@ public class MainActivity extends ActionBarActivity implements NavDrawerActivity
@Override
public Feed getItem(int position) {
- if (navDrawerData != null && position < navDrawerData.feeds.size()) {
+ if (navDrawerData != null && 0 <= position && position < navDrawerData.feeds.size()) {
return navDrawerData.feeds.get(position);
} else {
return null;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
index 0a0f686ff..091f4c843 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
@@ -349,7 +349,7 @@ public class AllEpisodesFragment extends Fragment {
@Override
public FeedItem getItem(int position) {
- if (episodes != null && position < episodes.size()) {
+ if (episodes != null && 0 <= position && position < episodes.size()) {
return episodes.get(position);
}
return null;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
index a5568b16e..954c4c9e2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -131,7 +131,11 @@ public class CompletedDownloadsFragment extends ListFragment {
@Override
public FeedItem getItem(int position) {
- return (items != null) ? items.get(position) : null;
+ if (items != null && 0 <= position && position < items.size()) {
+ return items.get(position);
+ } else {
+ return null;
+ }
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
index 90cacd2e4..47ed9676a 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
@@ -91,7 +91,11 @@ public class DownloadLogFragment extends ListFragment {
@Override
public DownloadStatus getItem(int position) {
- return (downloadLog != null) ? downloadLog.get(position) : null;
+ if (downloadLog != null && 0 <= position && position < downloadLog.size()) {
+ return downloadLog.get(position);
+ } else {
+ return null;
+ }
}
};
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index bcfa254f7..109e64f9b 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -592,7 +592,11 @@ public class ItemlistFragment extends ListFragment {
@Override
public FeedItem getItem(int position) {
- return (feed != null) ? feed.getItemAtIndex(position) : null;
+ if (feed != null && 0 <= position && position < feed.getNumOfItems()) {
+ return feed.getItemAtIndex(position);
+ } else {
+ return null;
+ }
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
index b47a197c3..85586962f 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
@@ -22,10 +22,10 @@ import de.danoeh.antennapod.adapter.DefaultActionButtonCallback;
import de.danoeh.antennapod.adapter.FeedItemlistAdapter;
import de.danoeh.antennapod.core.event.DownloadEvent;
import de.danoeh.antennapod.core.event.DownloaderUpdate;
+import de.danoeh.antennapod.core.event.QueueEvent;
import de.danoeh.antennapod.core.feed.EventDistributor;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
-import de.danoeh.antennapod.core.event.QueueEvent;
import de.danoeh.antennapod.core.service.download.Downloader;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
@@ -244,7 +244,11 @@ public class PlaybackHistoryFragment extends ListFragment {
@Override
public FeedItem getItem(int position) {
- return (playbackHistory != null) ? playbackHistory.get(position) : null;
+ if (playbackHistory != null && 0 <= position && position < playbackHistory.size()) {
+ return playbackHistory.get(position);
+ } else {
+ return null;
+ }
}
};
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index 8a2249d98..1271887b1 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -503,7 +503,7 @@ public class QueueFragment extends Fragment {
@Override
public FeedItem getItem(int position) {
- if(queue != null && position < queue.size()) {
+ if (queue != null && 0 <= position && position < queue.size()) {
return queue.get(position);
}
return null;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
index d81d18640..ba526edb3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
@@ -83,7 +83,11 @@ public class RunningDownloadsFragment extends ListFragment {
@Override
public Downloader getItem(int position) {
- return (downloaderList != null) ? downloaderList.get(position) : null;
+ if (downloaderList != null && 0 <= position && position < downloaderList.size()) {
+ return downloaderList.get(position);
+ } else {
+ return null;
+ }
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
index 43354ad28..513cf2760 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java
@@ -192,7 +192,11 @@ public class SearchFragment extends ListFragment {
@Override
public SearchResult getItem(int position) {
- return (searchResults != null) ? searchResults.get(position) : null;
+ if (searchResults != null && 0 <= position && position < searchResults.size()) {
+ return searchResults.get(position);
+ } else {
+ return null;
+ }
}
};