Fix null pointer dereference when security exception occurs

Just above the SecurityException is a check for r.record == null,
thus dereferencing r.record will cause a null pointer exception.

Found in Android 4.3 with the following steps:

1) Start the music app.
2) Switch to the restricted user.
3) Navigate to Settings->Apps->Running->Music.
4) Tap the stop button.

The security exception should be thrown which results in
a nice message to the user, but instead a null pointer
exception is thrown which results in the settings app
crashing.

Change-Id: I4a306c38650c9d366896e592767dde70adb71c57
This commit is contained in:
Christopher Desjardins
2015-05-19 11:25:40 +00:00
parent 5053258e20
commit a64cd48594

View File

@@ -509,7 +509,7 @@ public final class ActiveServices {
// r.record is null if findServiceLocked() failed the caller permission check
if (r.record == null) {
throw new SecurityException(
"Permission Denial: Accessing service " + r.record.name
"Permission Denial: Accessing service"
+ " from pid=" + Binder.getCallingPid()
+ ", uid=" + Binder.getCallingUid()
+ " requires " + r.permission);