QDoc: properly initialize a member

Spotted by valgrind:

==14189== Conditional jump or move depends on uninitialised value(s)
==14189==    at 0x47B3FD: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:1627)
==14189==    by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755)
==14189==    by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140)
==14189==    by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109)
==14189==    by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473)
==14189==    by 0x4D3B3C: main (main.cpp:656)
==14189==  Uninitialised value was created by a heap allocation
==14189==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14189==    by 0x474378: DocPrivate::constructExtra() (doc.cpp:415)
==14189==    by 0x47B975: DocParser::insertTarget(QString const&, bool) (doc.cpp:1676)
==14189==    by 0x476B52: DocParser::parse(QString const&, DocPrivate*, QSet<QString> const&, QSet<QString> const&) (doc.cpp:956)
==14189==    by 0x4818AC: Doc::Doc(Location const&, Location const&, QString const&, QSet<QString> const&, QSet<QString> const&) (doc.cpp:2755)
==14189==    by 0x4E6C3D: PureDocParser::processQdocComments() (puredocparser.cpp:140)
==14189==    by 0x4E6A9E: PureDocParser::parseSourceFile(Location const&, QString const&) (puredocparser.cpp:109)
==14189==    by 0x4D2E4C: processQdocconfFile(QString const&) (main.cpp:473)
==14189==    by 0x4D3B3C: main (main.cpp:656)

Change-Id: I5c50c6611a1d901cc19d12bc3757977c36b2a73b
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
This commit is contained in:
Giuseppe D'Angelo 2013-09-13 12:39:49 +02:00 committed by The Qt Project
parent 31b4461097
commit 76ef6aac6a

View File

@ -325,7 +325,9 @@ public:
QStringMultiMap metaMap;
DocPrivateExtra()
: granularity(Doc::Part) { }
: granularity(Doc::Part)
, section(Doc::NoSection)
{ }
};
struct Shared // ### get rid of