From 8b33deca563f80535332cdbf0d794eed282c1d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Fri, 3 Jul 2015 22:28:01 -0700 Subject: [PATCH] Avoid possible panic when slicing out of range --- adb/adb.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/adb/adb.go b/adb/adb.go index ffd525b..e8399e6 100644 --- a/adb/adb.go +++ b/adb/adb.go @@ -157,6 +157,9 @@ func (d *Device) Install(path string) error { if line == "Success" { return nil } + if !strings.HasPrefix(line, "Failure [INSTALL_") { + return errors.New("unknown result: " + line) + } code := line[len("Failure [INSTALL_") : len(line)-1] switch code { case "FAILED_ALREADY_EXISTS": @@ -267,6 +270,9 @@ func (d *Device) Uninstall(pkg string) error { if line == "Success" { return nil } + if !strings.HasPrefix(line, "Failure [DELETE_") { + return errors.New("unknown result: " + line) + } code := line[len("Failure [DELETE_") : len(line)-1] switch code { case "FAILED_INTERNAL_ERROR":