From a2bfa61013d3f0a1ccbb151e4124677936cd89b7 Mon Sep 17 00:00:00 2001
From: Robert Loehning <robert.loehning@nokia.com>
Date: Mon, 28 Sep 2009 15:05:53 +0200
Subject: [PATCH] Trk: Added some error checking.

---
 src/shared/trk/launcher.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/shared/trk/launcher.cpp b/src/shared/trk/launcher.cpp
index 799ff57d8a0..697498ece3d 100644
--- a/src/shared/trk/launcher.cpp
+++ b/src/shared/trk/launcher.cpp
@@ -280,7 +280,7 @@ void Launcher::handleResult(const TrkResult &result)
 
 void Launcher::handleTrkVersion(const TrkResult &result)
 {
-    if (result.data.size() < 5)
+    if (result.errorCode() || result.data.size() < 5)
         return;
     const int trkMajor = result.data.at(1);
     const int trkMinor = result.data.at(2);
@@ -353,6 +353,8 @@ void Launcher::handleFileCreated(const TrkResult &result)
 void Launcher::handleCpuType(const TrkResult &result)
 {
     logMessage("HANDLE CPU TYPE: " + result.toString());
+    if(result.errorCode() || result.data.size() < 7)
+        return;
     //---TRK------------------------------------------------------
     //  Command: 0x80 Acknowledge
     //    Error: 0x00
@@ -402,6 +404,8 @@ void Launcher::handleWaitForFinished(const TrkResult &result)
 
 void Launcher::handleSupportMask(const TrkResult &result)
 {
+    if (result.errorCode() || result.data.size() < 32)
+        return;
     const char *data = result.data.data() + 1;
 
     QByteArray str;
-- 
GitLab