summaryrefslogtreecommitdiffstats
path: root/src/xmlpatterns/expr/qexpressionvariablereference.cpp
diff options
context:
space:
mode:
authorSami Rosendahl <ext-sami.1.rosendahl@nokia.com>2012-02-06 08:00:10 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-02-08 08:20:27 (GMT)
commit9c97217e3bedb2708bba6f23cbc6dd603569e077 (patch)
tree22d9b2a8a5b47671548362786267e68cc12fa445 /src/xmlpatterns/expr/qexpressionvariablereference.cpp
parent80cebfde10cf34dcc0777c24f1b3ff37cad20181 (diff)
downloadQt-9c97217e3bedb2708bba6f23cbc6dd603569e077.zip
Qt-9c97217e3bedb2708bba6f23cbc6dd603569e077.tar.gz
Qt-9c97217e3bedb2708bba6f23cbc6dd603569e077.tar.bz2
Fix access to uninitialized values in QtXmlPatterns
Fixes valgrind warning like below when executing tst_QXmlQuery::copyConstructor() Conditional jump or move depends on uninitialised value(s) at: QPatternist::NodeIndexStorage::operator!=(QPatternist::NodeIndexStorage const&) const (q by: QXmlItem::operator=(QXmlItem const&) (qabstractxmlnodemodel.cpp:1228) Reason for the warning is that QPatternist::NodeIndexStorage::operator!= accesses all fields of NodeIndexStorage, which are all not intialized in every execution path of QXmlItem::QXmlItem(const QVariant &) and class QPatternist::Item constructors. Fixed by adding NodeIndexStorage::reset() function that resets all fields and put a call to that function where NodeIndexStorage objects were previously incompletely initialized. Note that unfortunately class NodeIndexStorage cannot have a default constructor, because it is used as a union field. Change-Id: I686433ba552f025658f7e583226e77346db82159 (cherry picked from commit f42f82f435d738339ad85c1380d1167338517247) (cherry picked from commit 65d2458408ccda1b37e1069fd13791a60fa0c672) Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/xmlpatterns/expr/qexpressionvariablereference.cpp')
0 files changed, 0 insertions, 0 deletions