summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-03-17 16:39:06 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-03-17 16:39:06 +0000
commit275d14befc4bf54ff92d37b00d3bd32dfedcb49b (patch)
tree0476ac652cceb2736e5295ff15ff13c687b5ea1b /core
parent0f4a5b9af9051eb572f2a0310472872851e9aeb6 (diff)
parenteeb36c5cfc107fe9128490e9e127c2bca2d24e28 (diff)
downloadframeworks_base-275d14befc4bf54ff92d37b00d3bd32dfedcb49b.zip
frameworks_base-275d14befc4bf54ff92d37b00d3bd32dfedcb49b.tar.gz
frameworks_base-275d14befc4bf54ff92d37b00d3bd32dfedcb49b.tar.bz2
am eeb36c5c: am d88d8174: Merge "Null pointer exception in FileRotator.java"
* commit 'eeb36c5cfc107fe9128490e9e127c2bca2d24e28': Null pointer exception in FileRotator.java
Diffstat (limited to 'core')
-rw-r--r--core/java/com/android/internal/util/FileRotator.java7
-rw-r--r--core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java13
2 files changed, 19 insertions, 1 deletions
diff --git a/core/java/com/android/internal/util/FileRotator.java b/core/java/com/android/internal/util/FileRotator.java
index 26235f1..71550be 100644
--- a/core/java/com/android/internal/util/FileRotator.java
+++ b/core/java/com/android/internal/util/FileRotator.java
@@ -336,7 +336,12 @@ public class FileRotator {
final long deleteBefore = currentTimeMillis - mDeleteAgeMillis;
final FileInfo info = new FileInfo(mPrefix);
- for (String name : mBasePath.list()) {
+ String[] baseFiles = mBasePath.list();
+ if (baseFiles == null) {
+ return;
+ }
+
+ for (String name : baseFiles) {
if (!info.parse(name)) continue;
if (info.isActive()) {
diff --git a/core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java b/core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java
index 95f0e67..0e3c13a 100644
--- a/core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java
+++ b/core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java
@@ -43,7 +43,10 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
+import junit.framework.Assert;
+
import libcore.io.IoUtils;
+import libcore.io.Libcore;
/**
* Tests for {@link FileRotator}.
@@ -367,6 +370,16 @@ public class FileRotatorTest extends AndroidTestCase {
assertReadAll(rotate, "bar");
}
+ public void testFileSystemInaccessible() throws Exception {
+ File inaccessibleDir = null;
+ String dirPath = getContext().getFilesDir() + File.separator + "inaccessible";
+ inaccessibleDir = new File(dirPath);
+ final FileRotator rotate = new FileRotator(inaccessibleDir, PREFIX, SECOND_IN_MILLIS, SECOND_IN_MILLIS);
+
+ // rotate should not throw on dir not mkdir-ed (or otherwise inaccessible)
+ rotate.maybeRotate(TEST_TIME);
+ }
+
private void touch(String... names) throws IOException {
for (String name : names) {
final OutputStream out = new FileOutputStream(new File(mBasePath, name));