summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-20 11:53:48 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-20 11:53:48 -0700
commit2f5fe598e53fc7bb3e8d6e1848ab62953866fb11 (patch)
treed98858b682446de658a8e442425192ef1c2c2860
parentf8b1f373fd884fffe384acf564d0a4e374de8e02 (diff)
downloadandroid_packages_providers_DownloadProvider-2f5fe598e53fc7bb3e8d6e1848ab62953866fb11.tar.gz
android_packages_providers_DownloadProvider-2f5fe598e53fc7bb3e8d6e1848ab62953866fb11.tar.bz2
android_packages_providers_DownloadProvider-2f5fe598e53fc7bb3e8d6e1848ab62953866fb11.zip
Avoid NPE when _DATA column is empty.
Bug: 6371718 Change-Id: Id661210101b01daf8f5d46a318c32dbb9de9a4fb
-rw-r--r--src/com/android/providers/downloads/StorageManager.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/StorageManager.java b/src/com/android/providers/downloads/StorageManager.java
index 4f3af5c8..19132b51 100644
--- a/src/com/android/providers/downloads/StorageManager.java
+++ b/src/com/android/providers/downloads/StorageManager.java
@@ -329,8 +329,12 @@ class StorageManager {
}
long totalFreed = 0;
try {
+ final int dataIndex = cursor.getColumnIndex(Downloads.Impl._DATA);
while (cursor.moveToNext() && totalFreed < targetBytes) {
- File file = new File(cursor.getString(cursor.getColumnIndex(Downloads.Impl._DATA)));
+ final String data = cursor.getString(dataIndex);
+ if (TextUtils.isEmpty(data)) continue;
+
+ File file = new File(data);
if (true || Constants.LOGV) {
Slog.d(Constants.TAG, "purging " + file.getAbsolutePath() + " for " +
file.length() + " bytes");