Add null check when list directory

This change protect getPlatformFileListForPrefix from
crashing when the directory exist but cannot be listed.
This generally happens when the caller doesn't have
enough permission to list.

Test: atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest#testDataMigrationUtils
Ignore-AOSP-First: in a topic with internal-only changes
Bug: 230289468
Change-Id: I4177a8229cc9db18d76cb90c54a1b8d12ef8d98f
Merged-In: I4177a8229cc9db18d76cb90c54a1b8d12ef8d98f
  (pure cherry-picked from ag/18457684)
This commit is contained in:
Junyu Lai
2022-05-19 01:35:11 +08:00
parent 807a7f37f0
commit ad2be9ef85

View File

@@ -52,6 +52,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.ProtocolException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
@@ -163,7 +164,10 @@ public class NetworkStatsDataMigrationUtils {
final ArrayList<File> list = new ArrayList<>();
final File platformFiles = getPlatformBaseDir();
if (platformFiles.exists()) {
for (String name : platformFiles.list()) {
final String[] files = platformFiles.list();
if (files == null) return list;
Arrays.sort(files);
for (String name : files) {
// Skip when prefix doesn't match.
if (!name.startsWith(prefix + ".")) continue;