fix fd leaks in scanPath

use auto
This commit is contained in:
Richard Bainesly 2025-01-09 16:06:40 -05:00 committed by outfoxxed
parent cd429142a4
commit 8b6aa624a2
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E

View file

@ -309,7 +309,7 @@ void DesktopEntryManager::scanPath(const QDir& dir, const QString& prefix) {
auto entries = dir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); auto entries = dir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
for (auto& entry: entries) { for (auto& entry: entries) {
if (entry.isDir()) this->scanPath(entry.path(), prefix + dir.dirName() + "-"); if (entry.isDir()) this->scanPath(entry.absoluteFilePath(), prefix + dir.dirName() + "-");
else if (entry.isFile()) { else if (entry.isFile()) {
auto path = entry.filePath(); auto path = entry.filePath();
if (!path.endsWith(".desktop")) { if (!path.endsWith(".desktop")) {
@ -317,9 +317,8 @@ void DesktopEntryManager::scanPath(const QDir& dir, const QString& prefix) {
continue; continue;
} }
auto* file = new QFile(path); auto file = QFile(path);
if (!file.open(QFile::ReadOnly)) {
if (!file->open(QFile::ReadOnly)) {
qCDebug(logDesktopEntry) << "Could not open file" << path; qCDebug(logDesktopEntry) << "Could not open file" << path;
continue; continue;
} }
@ -327,7 +326,7 @@ void DesktopEntryManager::scanPath(const QDir& dir, const QString& prefix) {
auto id = prefix + entry.fileName().sliced(0, entry.fileName().length() - 8); auto id = prefix + entry.fileName().sliced(0, entry.fileName().length() - 8);
auto lowerId = id.toLower(); auto lowerId = id.toLower();
auto text = QString::fromUtf8(file->readAll()); auto text = QString::fromUtf8(file.readAll());
auto* dentry = new DesktopEntry(id, this); auto* dentry = new DesktopEntry(id, this);
dentry->parseEntry(text); dentry->parseEntry(text);