From b8850fc679b7b8e0adedabb434c9c1f95327aa06 Mon Sep 17 00:00:00 2001 From: Yanting Yang Date: Fri, 30 Nov 2018 17:58:45 +0800 Subject: [PATCH] Fix NPE in slice data generation 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/android/settings/slices/SlicesDatabaseAccessor.java b/src/com/android/settings/slices/SlicesDatabaseAccessor.java index 35a0a5d14ac..c75f3ef10c0 100644 --- a/src/com/android/settings/slices/SlicesDatabaseAccessor.java +++ b/src/com/android/settings/slices/SlicesDatabaseAccessor.java @@ -71,6 +71,9 @@ public class SlicesDatabaseAccessor { */ public SliceData getSliceDataFromUri(Uri uri) { Pair 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 */); }