In backup/restore code wrap Binder.restoreCallingIdentity() in finally{}.

Test: none.
Bug: 68755611
Change-Id: Ic4326f3b50060be117ca7556cde15b0db10cc239
This commit is contained in:
Peter Visontay
2017-11-01 18:44:01 +00:00
parent c19d96c828
commit a9565cb487

View File

@@ -158,16 +158,19 @@ public class ActiveRestoreSession extends IRestoreSession.Stub {
MSG_RESTORE_SESSION_TIMEOUT);
long oldId = Binder.clearCallingIdentity();
backupManagerService.getWakelock().acquire();
if (MORE_DEBUG) {
Slog.d(TAG, "restoreAll() kicking off");
try {
backupManagerService.getWakelock().acquire();
if (MORE_DEBUG) {
Slog.d(TAG, "restoreAll() kicking off");
}
Message msg = backupManagerService.getBackupHandler().obtainMessage(
MSG_RUN_RESTORE);
msg.obj = new RestoreParams(mRestoreTransport, dirName,
observer, monitor, token);
backupManagerService.getBackupHandler().sendMessage(msg);
} finally {
Binder.restoreCallingIdentity(oldId);
}
Message msg = backupManagerService.getBackupHandler().obtainMessage(
MSG_RUN_RESTORE);
msg.obj = new RestoreParams(mRestoreTransport, dirName,
observer, monitor, token);
backupManagerService.getBackupHandler().sendMessage(msg);
Binder.restoreCallingIdentity(oldId);
return 0;
}
}