summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/devicesupport/localprocesslist.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-02-08 15:57:55 +0100
committerhjk <hjk121@nokiamail.com>2013-02-08 17:58:20 +0100
commit4f75077a097b17c00780ebe5dd3bb7c9a42f3955 (patch)
tree2485f2d6fc818aafd58e5476c35af41944ba5d58 /src/plugins/projectexplorer/devicesupport/localprocesslist.cpp
parentf0c797256ee0144b74f1a1f264abe3392500d2db (diff)
downloadqt-creator-4f75077a097b17c00780ebe5dd3bb7c9a42f3955.tar.gz
DeviceSupport: Fix crash in getLocalProcessesUsingProc
This is racy, but there is not much we can do about it. Processes can change out of our control Change-Id: I9a2a2d20b94364790d3fda0d30db8339feb3a885 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/devicesupport/localprocesslist.cpp')
-rw-r--r--src/plugins/projectexplorer/devicesupport/localprocesslist.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/devicesupport/localprocesslist.cpp b/src/plugins/projectexplorer/devicesupport/localprocesslist.cpp
index 8d8ef05d0e..7cb9dc6f8c 100644
--- a/src/plugins/projectexplorer/devicesupport/localprocesslist.cpp
+++ b/src/plugins/projectexplorer/devicesupport/localprocesslist.cpp
@@ -198,6 +198,8 @@ static QList<DeviceProcess> getLocalProcessesUsingProc(const QDir &procDir)
QFile statFile(root + QLatin1String("/stat"));
if (!statFile.open(QIODevice::ReadOnly)) {
const QStringList data = QString::fromLocal8Bit(statFile.readAll()).split(QLatin1Char(' '));
+ if (data.size() < 2)
+ continue;
proc.exe = data.at(1);
proc.cmdLine = data.at(1); // PPID is element 3
if (proc.exe.startsWith(QLatin1Char('(')) && proc.exe.endsWith(QLatin1Char(')'))) {