Package: peony-extensions
Version: 4.20.0.0-1
Severity: important

Dear Maintainer,

Peony crashes with SIGSEGV shortly after typing into the search box.
The crash occurs in the peony-intelligent-plugin provided by
peony-extensions.

Steps to reproduce:

   1.

   Open Peony on the Computer view:

   peony computer:///
   2.

   Focus the search box and type a few characters, for example “abc”.
   3.

   After the search starts, Peony crashes.

The same issue can also occur when searching from a normal directory.

The backtrace points to SearchViewContainer::bindModel():

#0 QObject::disconnect(…)
#1 Peony::SearchViewContainer::bindModel(…)
#2 Peony::DirectoryViewContainer::switchViewType(…)
#3 Peony::DirectoryViewContainer::goToUri(…)

The last message before the crash is:

QObject::disconnect: wildcard call disconnects from destroyed signal
of Peony::DirectoryViewWidget::unnamed

The problem is caused by two uninitialized member pointers in
search-view-container.h:

SearchFileItemModel *m_model;
SearchFilterProxyModel *m_proxyModel;

bindModel() calls disconnect() on these pointers before they have been
assigned, which can dereference invalid memory and crash Peony.

Expected result:

Searching should open the search view and return results without
crashing Peony.

Regards,

Reply via email to