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

Unitialized memory used in QElapsedTimer in QNetworkReplyImplPrivate::_q_copyReadyRead() NetworkReplyHttpImplPrivate::_q_cacheLoadReadyRead() , tst_qnetworkreply

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.3.0 Alpha
    • Network
    • Linux, gcc 4.6 64bit

    Description

      tst_qnetworkreply reports valgrind findings (due to QElapsedTimer not having a constructor initializing its t1,t2 members and elapsed() being called without start()):

      ==22254== Thread 1:
      ==22254== Conditional jump or move depends on uninitialised value(s)
      ==22254==    at 0x50F8017: QNetworkReplyHttpImplPrivate::_q_cacheLoadReadyRead() (qnetworkreplyhttpimpl.cpp:1659)
      ==22254==    by 0x5163355: QNetworkReplyHttpImpl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qnetworkreplyhttpimpl_p.cpp:191)
      ==22254==    by 0x573ABAC: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:487)
      ==22254==    by 0x573BC01: QObject::event(QEvent*) (qobject.cpp:1241)
      ==22254==    by 0x56FF81D: QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) (qcoreapplication.cpp:1054)
      ==22254==    by 0x56FF4F7: QCoreApplication::notify(QObject*, QEvent*) (qcoreapplication.cpp:999)
      ==22254==    by 0x56FF403: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:937)
      ==22254==    by 0x57031AE: QCoreApplication::sendEvent(QObject*, QEvent*) (in /depot/fkleint/qt-5s/qtbase/lib/libQt5Core.so.5.3.0)
      ==22254==    by 0x570051B: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1541)
      ==22254==    by 0x57748C9: QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_unix.cpp:587)
      ==22254==    by 0x56FBFA3: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:136)
      ==22254==    by 0x56FC27C: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:212)
      ==22254==    by 0x41411B: tst_QNetworkReply::waitForFinish(QSharedPointer<QNetworkReply>&) (tst_qnetworkreply.cpp:1384)
      ==22254==    by 0x43233E: tst_QNetworkReply::ioGetFromHttpWithCache() (tst_qnetworkreply.cpp:3820)
      ==22254==    by 0x458661: tst_QNetworkReply::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qnetworkreply.moc:805)
      ==22254==    by 0x570BB18: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2169)
      ==22254==    by 0x570AFD4: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1464)
      ==22254==    by 0x4E4380E: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399)
      ==22254==    by 0x4E3F36F: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1890)
      ==22254==    by 0x4E3FBEC: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:2015)
      ==22254==    by 0x4E406B4: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:2229)
      ==22254==    by 0x4E40C38: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2462)
      ==22254==    by 0x45804B: main (tst_qnetworkreply.cpp:7713)
      

      and

      ==22254== Conditional jump or move depends on uninitialised value(s)
      ==22254==    at 0x50E73E9: QNetworkReplyImplPrivate::_q_copyReadyRead() (qnetworkreplyimpl.cpp:215)
      ==22254==    by 0x50E9C2E: QNetworkReplyImplPrivate::appendDownstreamData(QIODevice*) (qnetworkreplyimpl.cpp:690)
      ==22254==    by 0x50D6126: QNetworkAccessBackend::writeDownstreamData(QIODevice*) (qnetworkaccessbackend.cpp:261)
      ==22254==    by 0x50DB02D: QNetworkAccessCacheBackend::sendCacheContents() (qnetworkaccesscachebackend.cpp:117)
      ==22254==    by 0x50DAACA: QNetworkAccessCacheBackend::open() (qnetworkaccesscachebackend.cpp:65)
      ==22254==    by 0x50D69BA: QNetworkAccessBackend::start() (qnetworkaccessbackend.cpp:437)
      ==22254==    by 0x50E6D32: QNetworkReplyImplPrivate::_q_startOperation() (qnetworkreplyimpl.cpp:105)
      ==22254==    by 0x50EBA24: QNetworkReplyImpl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qnetworkreplyimpl_p.cpp:96)
      ==22254==    by 0x573ABAC: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:487)
      ==22254==    by 0x573BC01: QObject::event(QEvent*) (qobject.cpp:1241)
      ==22254==    by 0x50EB00B: QNetworkReplyImpl::event(QEvent*) (qnetworkreplyimpl.cpp:1077)
      ==22254==    by 0x56FF81D: QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) (qcoreapplication.cpp:1054)
      ==22254==    by 0x56FF4F7: QCoreApplication::notify(QObject*, QEvent*) (qcoreapplication.cpp:999)
      ==22254==    by 0x56FF403: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:937)
      ==22254==    by 0x57031AE: QCoreApplication::sendEvent(QObject*, QEvent*) (in /depot/fkleint/qt-5s/qtbase/lib/libQt5Core.so.5.3.0)
      ==22254==    by 0x570051B: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1541)
      ==22254==    by 0x57748C9: QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_unix.cpp:587)
      ==22254==    by 0x56FBFA3: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:136)
      ==22254==    by 0x56FC27C: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:212)
      ==22254==    by 0x41411B: tst_QNetworkReply::waitForFinish(QSharedPointer<QNetworkReply>&) (tst_qnetworkreply.cpp:1384)
      ==22254==    by 0x43233E: tst_QNetworkReply::ioGetFromHttpWithCache() (tst_qnetworkreply.cpp:3820)
      ==22254==    by 0x458661: tst_QNetworkReply::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (tst_qnetworkreply.moc:805)
      ==22254==    by 0x570BB18: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:2169)
      ==22254==    by 0x570AFD4: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1464)
      ==22254==    by 0x4E4380E: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:399)
      ==22254==    by 0x4E3F36F: QTest::qInvokeTestMethodDataEntry(char*) (qtestcase.cpp:1890)
      ==22254==    by 0x4E3FBEC: QTest::qInvokeTestMethod(char const*, char const*) (qtestcase.cpp:2015)
      ==22254==    by 0x4E406B4: QTest::qInvokeTestMethods(QObject*) (qtestcase.cpp:2229)
      ==22254==    by 0x4E40C38: QTest::qExec(QObject*, int, char**) (qtestcase.cpp:2462)
      ==22254==    by 0x45804B: main (tst_qnetworkreply.cpp:7713)
      
      

      Attachments

        Issue Links

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

          Activity

            People

              richmoore Richard Moore (qtnetwork)
              kleint Friedemann Kleint
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes