Loading services/companion/java/com/android/server/companion/BackupRestoreProcessor.java +22 −6 Original line number Diff line number Diff line Loading @@ -111,6 +111,11 @@ class BackupRestoreProcessor { Slog.i(TAG, "applyRestoredPayload() userId=[" + userId + "], payload size=[" + payload.length + "]."); if (payload.length == 0) { Slog.i(TAG, "CDM backup payload was empty."); return; } ByteBuffer buffer = ByteBuffer.wrap(payload); // Make sure that payload version matches current version to ensure proper deserialization Loading @@ -120,15 +125,26 @@ class BackupRestoreProcessor { return; } // Pre-load the bytes into memory before processing them to ensure payload mal-formatting // error is caught early on. final byte[] associationsPayload; final byte[] requestsPayload; try { // Read the bytes containing backed-up associations byte[] associationsPayload = new byte[buffer.getInt()]; associationsPayload = new byte[buffer.getInt()]; buffer.get(associationsPayload); final Associations restoredAssociations = readAssociationsFromPayload( associationsPayload, userId); // Read the bytes containing backed-up system data transfer requests user consent byte[] requestsPayload = new byte[buffer.getInt()]; requestsPayload = new byte[buffer.getInt()]; buffer.get(requestsPayload); } catch (Exception bufferException) { Slog.e(TAG, "CDM backup payload was mal-formatted.", bufferException); return; } final Associations restoredAssociations = readAssociationsFromPayload( associationsPayload, userId); List<SystemDataTransferRequest> restoredRequestsForUser = mSystemDataTransferRequestStore.readRequestsFromPayload(requestsPayload, userId); Loading Loading
services/companion/java/com/android/server/companion/BackupRestoreProcessor.java +22 −6 Original line number Diff line number Diff line Loading @@ -111,6 +111,11 @@ class BackupRestoreProcessor { Slog.i(TAG, "applyRestoredPayload() userId=[" + userId + "], payload size=[" + payload.length + "]."); if (payload.length == 0) { Slog.i(TAG, "CDM backup payload was empty."); return; } ByteBuffer buffer = ByteBuffer.wrap(payload); // Make sure that payload version matches current version to ensure proper deserialization Loading @@ -120,15 +125,26 @@ class BackupRestoreProcessor { return; } // Pre-load the bytes into memory before processing them to ensure payload mal-formatting // error is caught early on. final byte[] associationsPayload; final byte[] requestsPayload; try { // Read the bytes containing backed-up associations byte[] associationsPayload = new byte[buffer.getInt()]; associationsPayload = new byte[buffer.getInt()]; buffer.get(associationsPayload); final Associations restoredAssociations = readAssociationsFromPayload( associationsPayload, userId); // Read the bytes containing backed-up system data transfer requests user consent byte[] requestsPayload = new byte[buffer.getInt()]; requestsPayload = new byte[buffer.getInt()]; buffer.get(requestsPayload); } catch (Exception bufferException) { Slog.e(TAG, "CDM backup payload was mal-formatted.", bufferException); return; } final Associations restoredAssociations = readAssociationsFromPayload( associationsPayload, userId); List<SystemDataTransferRequest> restoredRequestsForUser = mSystemDataTransferRequestStore.readRequestsFromPayload(requestsPayload, userId); Loading