OSDN Git Service

Don't crash bmgr if there are no available restore sets
authorChris Tate <ctate@google.com>
Mon, 1 Nov 2010 22:50:35 +0000 (15:50 -0700)
committerChris Tate <ctate@google.com>
Mon, 1 Nov 2010 22:50:35 +0000 (15:50 -0700)
Properly guard against a null set of available restore sets when
validating the token passed to 'bmgr restore TOKEN' against what's
known to exist on the backend.

Fixes bug 3153986

Change-Id: I74bdd4c6242f682833c1633baa4fefccb2b165a7

cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java

index 37c8ad0..b5fddfa 100644 (file)
@@ -389,11 +389,13 @@ public final class Bmgr {
             if (err == 0) {
                 observer.waitForCompletion();
                 sets = observer.sets;
-                for (RestoreSet s : sets) {
-                    if (s.token == token) {
-                        System.out.println("Scheduling restore: " + s.name);
-                        didRestore = (mRestore.restoreAll(token, observer) == 0);
-                        break;
+                if (sets != null) {
+                    for (RestoreSet s : sets) {
+                        if (s.token == token) {
+                            System.out.println("Scheduling restore: " + s.name);
+                            didRestore = (mRestore.restoreAll(token, observer) == 0);
+                            break;
+                        }
                     }
                 }
             }