Guard against setting bad channels in config
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 22 Feb 2023 19:18:45 +0000 (20:18 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 8 May 2023 11:06:58 +0000 (19:06 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/libsync/configfile.cpp

index f60a4b19bc20df60af46cfcdf8e0125cdcf5c1a8..db0f93045444fa2e08c438965340d6f8383e21d2 100644 (file)
@@ -697,6 +697,13 @@ QString ConfigFile::updateChannel() const
 
 void ConfigFile::setUpdateChannel(const QString &channel)
 {
+    if (channel != QStringLiteral("stable") || channel != QStringLiteral("beta")) {
+        qCWarning(lcConfigFile()) << "Received invalid update channel:"
+                                  << channel
+                                  << "can only accept 'stable' or 'beta'. Ignoring.";
+        return;
+    }
+
     QSettings settings(configFile(), QSettings::IniFormat);
     settings.setValue(QLatin1String(updateChannelC), channel);
 }