diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshconnection.cpp index 3b7151f1e9cea34eecd5e64e25ee82f218cefddb..2d0763a64cf080b75bc590f1fe23c80336897166 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()); }