Stop bugreportd if binder call fails
Fixes: 128949427 Test: Tested by supplying a valid fd that dumpstate does not have access to, but system server has access to. So the startBugreport call fails. Verified that subsequent calls with proper arguments go through and not encounter BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS. Change-Id: I393e09a4e35ae5191406112d76f27fe89418c069
This commit is contained in:
@@ -174,7 +174,11 @@ class BugreportManagerServiceImpl extends IDumpstate.Stub {
|
||||
ds.startBugreport(callingUid, callingPackage,
|
||||
bugreportFd, screenshotFd, bugreportMode, myListener);
|
||||
} catch (RemoteException e) {
|
||||
reportError(listener, IDumpstateListener.BUGREPORT_ERROR_RUNTIME_ERROR);
|
||||
// bugreportd service is already started now. We need to kill it to manage the
|
||||
// lifecycle correctly. If we don't subsequent callers will get
|
||||
// BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS error.
|
||||
// Note that listener will be notified by the death recipient below.
|
||||
cancelBugreport();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user