From 2400d27a6571cee35f87eeb7577b31b7f4a4de74 Mon Sep 17 00:00:00 2001 From: Ritesh Reddy Date: Tue, 2 Feb 2016 11:42:26 +0000 Subject: [PATCH] Constrained allowable backup versions Constrained the version on an incoming backup set to the highest version that the SettingsBackupAgent can handle. This is to deal with either corrupted backup sets or newer backup sets (when modifiying/downgrading the SettingsBackupAgent). Change-Id: I4d666e8d4541c0b86e656a73744837d03318c4ae --- .../com/android/providers/settings/SettingsBackupAgent.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java index 2e96f18bedb21..b270dd86bb8e4 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java @@ -730,6 +730,11 @@ public class SettingsBackupAgent extends BackupAgentHelper { try { int stateVersion = dataInput.readInt(); + if (stateVersion > STATE_VERSION) { + // Constrain the maximum state version this backup agent + // can handle in case a newer or corrupt backup set existed + stateVersion = STATE_VERSION; + } for (int i = 0; i < STATE_SIZES[stateVersion]; i++) { stateChecksums[i] = dataInput.readLong(); }