From e78763bb046a04778d7a9d8b8466f9b85cebe4dd Mon Sep 17 00:00:00 2001
From: ck <qt-info@nokia.com>
Date: Wed, 13 Jan 2010 10:45:26 +0100
Subject: [PATCH] Maemo: Introduce automatic cleanup for another pointer.

---
 .../qt4projectmanager/qt-maemo/maemosshconnection.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
index 3b7151f1e9c..2d0763a64cf 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp
@@ -48,6 +48,7 @@
 #include <ne7ssh.h>
 
 #include <QtCore/QFileInfo>
+#include <QtCore/QScopedPointer>
 #include <QtCore/QStringBuilder>
 
 #include <cstdio>
@@ -132,12 +133,12 @@ void MaemoInteractiveSshConnection::runCommand(const QString &command)
         const char * const error = lastError();
         if (error)
             throw MaemoSshException(tr("SSH error: %1").arg(error));
-        const char * const output = ssh.readAndReset(channel(), alloc);
-        if (output) {
-            emit remoteOutput(QString::fromUtf8(output));
+        QScopedPointer<char, QScopedPointerArrayDeleter<char> >
+            output(ssh.readAndReset(channel(), alloc));
+        if (output.data()) {
+            emit remoteOutput(QString::fromUtf8(output.data()));
             if (!done)
-                done = strstr(output, m_prompt) != 0;
-            delete[] output;
+                done = strstr(output.data(), m_prompt) != 0;
         }
     } while (!done && !stopRequested());
 }
-- 
GitLab