| Summary: | SIGSEGV in QArrayData::data (called via ThumbnailProvider::requestImage) | ||
|---|---|---|---|
| Product: | [Applications] kdenlive | Reporter: | kdenlive-bug |
| Component: | User Interface & Miscellaneous | Assignee: | Jean-Baptiste Mardelle <jb> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 22.12.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | OpenBSD | ||
| Latest Commit: | https://invent.kde.org/multimedia/kdenlive/commit/d42e318347ad4ec71e1df7fdcc3b3459e10f90bc | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
kdenlive-bug
2023-01-03 01:27:26 UTC
I believe this patch is sufficient to fix the problem. It both makes `key` not be used after it was destructed and fixes the user issue:
Resolve use-after-free in thumbnailcache
Index: src/utils/thumbnailcache.cpp
--- src/utils/thumbnailcache.cpp.orig
+++ src/utils/thumbnailcache.cpp
@@ -33,8 +33,8 @@ class ThumbnailCache::Cache_t (public)
}
auto it = m_cache.at(key);
m_currentCost -= (*it).second.second;
- m_data.erase(it);
m_cache.erase(key);
+ m_data.erase(it);
}
void insert(const QString &key, const QImage &img, int cost)
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/kdenlive/-/merge_requests/375 Git commit d42e318347ad4ec71e1df7fdcc3b3459e10f90bc by Julius Künzel, on behalf of Eric Jiang. Committed on 12/02/2023 at 20:23. Pushed by jlskuz into branch 'master'. Fix use-after-free in ThumbnailCache::remove() Patch contributed by user in BUG 463764 M +9 -2 src/utils/thumbnailcache.cpp https://invent.kde.org/multimedia/kdenlive/commit/d42e318347ad4ec71e1df7fdcc3b3459e10f90bc |