diff options
author | Jeff Sharkey <jsharkey@android.com> | 2014-03-17 16:39:06 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-17 16:39:06 +0000 |
commit | 275d14befc4bf54ff92d37b00d3bd32dfedcb49b (patch) | |
tree | 0476ac652cceb2736e5295ff15ff13c687b5ea1b /core | |
parent | 0f4a5b9af9051eb572f2a0310472872851e9aeb6 (diff) | |
parent | eeb36c5cfc107fe9128490e9e127c2bca2d24e28 (diff) | |
download | frameworks_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.java | 7 | ||||
-rw-r--r-- | core/tests/coretests/src/com/android/internal/util/FileRotatorTest.java | 13 |
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)); |