Ensure only valid events are reported.
When CHOOSER_ACTION events are reported via reportChooserSelection, make sure the parameters are not null and the package passed is also a valid, installed package. Bug: 229633537 Bug: 253403242 Test: atest UsageStatsTest Change-Id: I92089f75c94a4e1e4e40afc70f4488c49d178f96
This commit is contained in:
@@ -2539,10 +2539,20 @@ public class UsageStatsService extends SystemService implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reportChooserSelection(String packageName, int userId, String contentType,
|
||||
String[] annotations, String action) {
|
||||
public void reportChooserSelection(@NonNull String packageName, int userId,
|
||||
@NonNull String contentType, String[] annotations, @NonNull String action) {
|
||||
if (packageName == null) {
|
||||
Slog.w(TAG, "Event report user selecting a null package");
|
||||
throw new IllegalArgumentException("Package selection must not be null.");
|
||||
}
|
||||
if (contentType == null) {
|
||||
throw new IllegalArgumentException("Content type for selection must not be null.");
|
||||
}
|
||||
if (action == null) {
|
||||
throw new IllegalArgumentException("Selection action must not be null.");
|
||||
}
|
||||
// Verify if this package exists before reporting an event for it.
|
||||
if (mPackageManagerInternal.getPackageUid(packageName, 0, userId) < 0) {
|
||||
Slog.w(TAG, "Event report user selecting an invalid package");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user