From 87b4e3b7fe737a3cff7baa76f05c4807ff7e4b29 Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Tue, 15 Oct 2024 05:47:37 +0100 Subject: [PATCH] fix: Check for errors before reading version string --- src/lib/gui/VersionChecker.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/lib/gui/VersionChecker.cpp b/src/lib/gui/VersionChecker.cpp index d75dcca7b..ceff1b3f8 100644 --- a/src/lib/gui/VersionChecker.cpp +++ b/src/lib/gui/VersionChecker.cpp @@ -57,10 +57,23 @@ void VersionChecker::checkLatest() const { } void VersionChecker::replyFinished(QNetworkReply *reply) { - auto newestVersion = QString(reply->readAll()); + const auto httpStatus = + reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + if (reply->error() != QNetworkReply::NoError) { + qWarning( + "version check server error: %s", qPrintable(reply->errorString())); + qWarning("error checking for updates, http status: %d", httpStatus); + return; + } + + qInfo("version check server success, http status: %d", httpStatus); + + const auto newestVersion = QString(reply->readAll()); + qDebug("version check response: %s", qPrintable(newestVersion)); + if (!newestVersion.isEmpty() && compareVersions(DESKFLOW_VERSION, newestVersion) > 0) { - qDebug("update found: %s", qPrintable(newestVersion)); + qDebug("update found"); emit updateFound(newestVersion); } else { qDebug("no updates found");