Review Request 121599: Fix crash in KIO due to exposing inconsistent views of internal data.
Albert Astals Cid
aacid at kde.org
Sun Apr 19 14:57:20 UTC 2015
> On abr. 19, 2015, 4:27 a.m., Simeon Bird wrote:
> > Hi everyone,
> >
> > Sorry to bother you, but may I please commit this? It's been a while. The kdelibs version had some positive reviews.
> >
> > Thanks,
> > Simeon
Any reason why we should not fix this in kdelibs too?
- Albert
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121599/#review79194
-----------------------------------------------------------
On feb. 28, 2015, 10:49 p.m., Simeon Bird wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121599/
> -----------------------------------------------------------
>
> (Updated feb. 28, 2015, 10:49 p.m.)
>
>
> Review request for KDE Frameworks, Aleix Pol Gonzalez and David Faure.
>
>
> Repository: kio
>
>
> Description
> -------
>
> Fix crash in KIO due to exposing inconsistent views of internal data.
>
> This can be triggered by renaming a directory while one of the files in it is open in gwenview.
>
> It occurs because when KDirListerCache::emitRedirections is called,
> itemsInUse contains the old url. However, KDirLister::Private::redirect
> changes lstDirs to the new url. Thus at this point lstDirs contains an
> item not in itemsInUse, which causes an assertion if forgetDirs is
> called.
>
> In gwenview, the redirection signal is connected to openURL. This calls
> forgetDirs, and causes the assertion.
>
> The solution: update itemsInUse *before* emitting redirections.
>
> This fixes the crash, but gwenview opens the first file in
> the new directory instead of the file open before renaming.
> This is probably an unrelated gwenview bug.
>
> This is the same as reviewboard 117345, but on the KF5 kio repository and with a test case.
>
> While I was doing this I also fixed a minor bug in the test suite (which is a separate commit).
>
>
> Diffs
> -----
>
> autotests/kdirlistertest.h 70fd16f
> autotests/kdirlistertest.cpp b588e5b
> src/core/kcoredirlister.cpp f5c5627
>
> Diff: https://git.reviewboard.kde.org/r/121599/diff/
>
>
> Testing
> -------
>
> Tests run
>
>
> Thanks,
>
> Simeon Bird
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150419/968f425d/attachment.html>
More information about the Kde-frameworks-devel
mailing list