From fe0e3701b7d6ad71474b321a677d3f82ef08d51f Mon Sep 17 00:00:00 2001
From: Daniel Teske <daniel.teske@digia.com>
Date: Fri, 15 Nov 2013 16:45:55 +0100
Subject: [PATCH] Android: getAbis prevent endless loop

We need to check all ro.product.cpu.abi# properties,
but there's a limited amount of those. So only check up to 5 to ensure
that the loop always terminates. On irc a user reported that on his
device adb shell getprop returns  "/bin/sh: getprop: not found", so
this loop was never terminated.

Change-Id: I819b28cdbedb0bf557ba58e8495a8da5eeb8dc8d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
---
 src/plugins/android/androidconfigurations.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index 698d3538df5..bea0acad9ba 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -772,8 +772,7 @@ bool AndroidConfigurations::hasFinishedBooting(const QString &device) const
 QStringList AndroidConfigurations::getAbis(const QString &device) const
 {
     QStringList result;
-    int i = 1;
-    while (true) {
+    for (int i = 1; i < 6; ++i) {
         QStringList arguments = AndroidDeviceInfo::adbSelector(device);
         arguments << QLatin1String("shell") << QLatin1String("getprop");
         if (i == 1)
@@ -791,7 +790,6 @@ QStringList AndroidConfigurations::getAbis(const QString &device) const
         if (abi.isEmpty())
             break;
         result << abi;
-        ++i;
     }
     return result;
 }
-- 
GitLab