Fix memory leak in QDomDocument DTD entity declaration handler
authorSami Rosendahl <ext-sami.1.rosendahl@nokia.com>
Thu, 5 Jan 2012 11:56:53 +0000 (13:56 +0200)
committerQt by Nokia <qt-info@nokia.com>
Fri, 6 Jan 2012 01:59:59 +0000 (02:59 +0100)
commitd55cdcd59fdddd660193ddff40fbd52bef57c0c9
tree275e89ad2fbd56faf367b609231c1e3981013ad3
parent1bc31fa43ddefe468c9f079156bfad0371e2a61b
Fix memory leak in QDomDocument DTD entity declaration handler

The created entity node's reference count needs to be decremented to 0
before it is added as a child, because appendChild will increment the
reference count to correct value of 1. Also added autotest DTDEntityDecl
to tst_qdom to expose the leak when executed under valgrind memcheck.
There was no previous direct test case for unparsed entity declarations in
DTD, only indirect coverage via regression test cloneDTD_QTBUG8398.

Task-number: QTBUG-22587
Change-Id: I394ae9fc32d5b84e4ca287c5db4dd7effde6128b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
src/xml/dom/qdom.cpp
tests/auto/xml/dom/qdom/tst_qdom.cpp