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

QBluetoothDeviceDiscoveryAgent::stop() accesses NULL pointer

    XMLWordPrintable

Details

    • Windows, WinRT
    • 4ac755bb6e51891881b7477702be8ca917b60c8a

    Description

      Calling stop() on discovery agent leads to error ""QCoreApplication::postEvent: Unexpected null receiver". Looking at the code, I'm even surprised this does not crash.

       

      This is due to code bluetooth\qbluetoothdevicediscoveryagent_winrt.cpp:

      void QBluetoothDeviceDiscoveryAgentPrivate::stop()
      {
          Q_Q(QBluetoothDeviceDiscoveryAgent);
        if (worker)

      {     worker->stop();     disconnectAndClearWorker();     emit q->canceled();   }

        if (leScanTimer)

      {     leScanTimer->stop();     worker->deleteLater();   }

      }

      worker->deleteLater() is called even if disconnectAndClearWorker() was invoked. Then worker is NULL and should not be "deleted later".

       

      I'm seeing this using Win10 on a laptop.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            owolff Oliver Wolff
            jpo38 Jean Porcherot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes