Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-76338

QQuickShapeGenericRenderer misuses qtVectorPathForPath()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.14.0 Alpha
    • 5.12.3, 5.14.0 Alpha
    • Quick: Other
    • 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

          For Gerrit Dashboard: QTBUG-76338
          # Subject Branch Project Status CR V

          Activity

            People

              lagocs Laszlo Agocs
              ulherman Ulf Hermann
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes