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

direct memory leak in qquicktextinput.cpp

    XMLWordPrintable

    Details

    • Commits:
      d2d8e90e9f218103d60737e1273ab5322834d9ec (qt/qtdeclarative/dev) 89ea9f1f9468aa47718cbb398317c63a9479adf2 (qt/qtdeclarative/5.15) 28e48455946deca8a63e054fb4f240e4a24f94e4 (qt/qtdeclarative/6.0)

      Description

      In

      void QQuickTextInputPrivate::parseInputMask(const QString &maskFields)
      

      there is

          delete [] m_maskData;
          m_maskData = new MaskInputData[m_maxLength];
      

      but m_maskData was not freed in destructor.

      and leak sanitizer reports:

      Direct leak of 128 byte(s) in 4 object(s) allocated from:
          #0 0x7f36589670c1 in operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:102
          #1 0x7f3651f76da6 in QQuickTextInputPrivate::parseInputMask(QString const&) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/quick/items/bqquicktextinput.cpp:3867
          #2 0x7f3651fc16a4 in QQuickTextInputPrivate::setInputMask(QString const&) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/quick/items/qquicktextinput_p_p.h:420
          #3 0x7f3651f0e67f in QQuickTextInput::setInputMask(QString const&) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/quick/items/qquicktextinput.cpp:1149
          #4 0x7f3651fadeb2 in QQuickTextInput::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) .moc/moc_qquicktextinput_p.cpp:1224
          #5 0x7f363da11dd4 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const ../../include/QtQml/5.15.2/QtQml/private/../../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:375
          #6 0x7f363dcf4a93 in bool GenericBinding<10>::doStore<QString>(QString, QQmlPropertyData const*, QFlags<QQmlPropertyData::WriteFlag>) const /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:342
          #7 0x7f363dcf4a93 in GenericBinding<10>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:323
          #8 0x7f363dcd8703 in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:258
          #9 0x7f363dccab1b in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:194
          #10 0x7f363dcd0d83 in QQmlBinding::setEnabled(bool, QFlags<QQmlPropertyData::WriteFlag>) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:566
          #11 0x7f363dd5e109 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1394
          #12 0x7f363da28214 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:987
          #13 0x7f363da2a125 in QQmlComponentPrivate::completeCreate() /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1079
          #14 0x7f363da323b0 in QQmlComponent::createObject(QQmlV4Function*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1491
          #15 0x7f363da3933d in QQmlComponent::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) .moc/moc_qqmlcomponent.cpp:163
          #16 0x7f363da3a7b2 in QQmlComponent::qt_metacall(QMetaObject::Call, int, void**) .moc/moc_qqmlcomponent.cpp:231
          #17 0x7f36337c57b8 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) /samsung_ssd_970pro/projects/qt5/qtbase/src/corelib/kernel/qmetaobject.cpp:317
          #18 0x7f363dbf973b in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
          #19 0x7f363d3a669e in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2125
          #20 0x7f363d3a51b9 in QV4::QObjectMethod::virtualCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2068
          #21 0x7f363d05a351 in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:202
          #22 0x7f363d470398 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:754
          #23 0x7f363d459f7d in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:463
          #24 0x7f363d20e81c in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
          #25 0x7f363dc99b0c in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
          #26 0x7f363da8bb29 in QQmlBoundSignalExpression::evaluate(void**) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
          #27 0x7f363da8e8fc in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:361
          #28 0x7f363dbf5529 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
          #29 0x7f363d992991 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) /samsung_ssd_970pro/projects/qt5/qtdeclarative/src/qml/qml/qqmlengine.cpp:834
          #30 0x7f3633917c23 in void doActivate<false>(QObject*, int, void**) /samsung_ssd_970pro/projects/qt5/qtbase/src/corelib/kernel/qobject.cpp:3778
      
      

        Attachments

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

          Activity

            People

            Assignee:
            fabiankosmale Fabian Kosmale
            Reporter:
            evgeniy_dushistov evgeniy_dushistov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes