Browse Source

Fix memory leaks

* Fixes a couple of memory leaks (although not dangerous in practice, since we are talking about objects with a lifetime up to the end of the application)
* Fixes heap use after free

PR #19650.
Closes #19632.
adaptive-webui-19844
Vladimir Golovnev 1 year ago committed by GitHub
parent
commit
46c1c9de65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/base/http/requestparser.cpp
  2. 2
      src/base/torrentfileswatcher.cpp
  3. 2
      src/gui/lineedit.cpp

2
src/base/http/requestparser.cpp

@ -212,7 +212,7 @@ bool RequestParser::parseRequestLine(const QString &line) @@ -212,7 +212,7 @@ bool RequestParser::parseRequestLine(const QString &line)
if (sepPos >= 0)
{
const QByteArrayView query = url.mid(sepPos + 1);
const QByteArrayView query = QByteArrayView(url).mid(sepPos + 1);
// [rfc3986] 2.4 When to Encode or Decode
// URL components should be separated before percent-decoding

2
src/base/torrentfileswatcher.cpp

@ -159,7 +159,7 @@ void TorrentFilesWatcher::initWorker() @@ -159,7 +159,7 @@ void TorrentFilesWatcher::initWorker()
connect(m_asyncWorker, &TorrentFilesWatcher::Worker::torrentFound, this, &TorrentFilesWatcher::onTorrentFound);
m_asyncWorker->moveToThread(m_ioThread.get());
connect(m_ioThread.get(), &QThread::finished, this, [this] { delete m_asyncWorker; });
connect(m_ioThread.get(), &QObject::destroyed, this, [this] { delete m_asyncWorker; });
m_ioThread->start();
for (auto it = m_watchedFolders.cbegin(); it != m_watchedFolders.cend(); ++it)

2
src/gui/lineedit.cpp

@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
LineEdit::LineEdit(QWidget *parent)
: QLineEdit(parent)
{
auto *action = new QAction(UIThemeManager::instance()->getIcon(u"edit-find"_s), QString());
auto *action = new QAction(UIThemeManager::instance()->getIcon(u"edit-find"_s), QString(), this);
addAction(action, QLineEdit::LeadingPosition);
setClearButtonEnabled(true);

Loading…
Cancel
Save