AccountManager: Fix small leak in the account migration code

The QSettings object was not deleted in every possible code paths
This commit is contained in:
Olivier Goffart 2017-02-08 12:30:32 +01:00
parent df773ea8bb
commit 06579a5c70

View file

@ -86,7 +86,7 @@ bool AccountManager::restoreFromLegacySettings()
QFileInfo fi( oCCfgFile );
if( fi.isReadable() ) {
QSettings *oCSettings = new QSettings(oCCfgFile, QSettings::IniFormat);
std::unique_ptr<QSettings> oCSettings(new QSettings(oCCfgFile, QSettings::IniFormat));
oCSettings->beginGroup(QLatin1String("ownCloud"));
// Check the theme url to see if it is the same url that the oC config was for
@ -101,9 +101,7 @@ bool AccountManager::restoreFromLegacySettings()
qDebug() << "Migrate oC config if " << oCUrl << " == " << overrideUrl << ":"
<< (oCUrl == overrideUrl ? "Yes" : "No");
if( oCUrl == overrideUrl ) {
settings.reset( oCSettings );
} else {
delete oCSettings;
settings = std::move(oCSettings);
}
}
}