OSDN Git Service

Fix NPE in slice data generation
authorYanting Yang <yantingyang@google.com>
Fri, 30 Nov 2018 09:58:45 +0000 (17:58 +0800)
committerYanting Yang <yantingyang@google.com>
Fri, 30 Nov 2018 12:25:22 +0000 (20:25 +0800)
NPE will be occurred when clients gives invalid slice uri for Settings.
We have defined some rules in getPathData() and it will return null
object when the invalid uri was given. NPE will be happened in next.

Change-Id: I6ebadd4383aee6e69b1c2eb6c84071c961fd72a7
Fixes: 120259627
Test: robotests

src/com/android/settings/slices/SlicesDatabaseAccessor.java

index 35a0a5d..c75f3ef 100644 (file)
@@ -71,6 +71,9 @@ public class SlicesDatabaseAccessor {
      */
     public SliceData getSliceDataFromUri(Uri uri) {
         Pair<Boolean, String> pathData = SliceBuilderUtils.getPathData(uri);
+        if (pathData == null) {
+            throw new IllegalStateException("Invalid Slices uri: " + uri);
+        }
         Cursor cursor = getIndexedSliceData(pathData.second /* key */);
         return buildSliceData(cursor, uri, pathData.first /* isIntentOnly */);
     }