Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.3, 5.14.0 Alpha
-
None
-
75895afd7d2b8b6a82838600aabe24f5bb5e4c79 (qt/qtdeclarative/dev)
Description
qtVectorPathForPath() does not respect the const-ness of its argument as it replaces an internal pointer to the pathConverter. Since c7167509acdba006fe6da4ec1866acb214c18197 in qtbase this is a unique_ptr. Therefore, replacing it deletes the old one. Calling qtVectorPathForPath() concurrently from different threads without locking therefore leads to race conditions and crashes.
(before c7167509acdba006fe6da4ec1866acb214c18197 in qtbase it would still create a race condition, but then leak the pathConverter instead of crashing)
Attachments
Issue Links
- is required for
-
QTBUG-76069 tst_examples::sgexamples() failed on Linux Ubuntu_18_04 (gcc-x86_64)
- Closed
For Gerrit Dashboard: QTBUG-76338 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
264772,3 | Do qtVectorPathForPath before starting thread pool | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |