pidgin/pidgin

Fix leak that may occur when xmlnode_from_str fails
release-2.x.y
2021-09-13, Elliott Sales de Andrade
59a77978ca08
Fix leak that may occur when xmlnode_from_str fails

The failure may occur any time in the middle of parsing, and `xpd->current` may
not actually be pointing to the root of the parsed tree. Thus we need to walk
back up before freeing the xmlnode.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34988

Testing Done:
Ran the reproducer testcase on `fuzz_xml`

Reviewed at https://reviews.imfreedom.org/r/911/
man_MANS =
if ENABLE_GTK
man_MANS += pidgin.1
endif
if ENABLE_GNT
man_MANS += finch.1
endif
EXTRA_DIST = \
C-HOWTO.dox \
PERL-HOWTO.dox \
SIGNAL-HOWTO.dox \
TCL-HOWTO.dox \
TracFooter.html \
TracHeader.html \
account-signals.dox \
blist-signals.dox \
certificate-signals.dox \
cipher-signals.dox \
connection-signals.dox \
conversation-signals.dox \
core-signals.dox \
dbus-server-signals.dox \
funniest_home_convos.txt \
finch.1.in \
gtkaccount-signals.dox \
gtkblist-signals.dox \
gtkconv-signals.dox \
gtklog-signals.dox \
gtkimhtml-signals.dox \
gtkrc-2.0 \
imgstore-signals.dox \
jabber-signals.dox \
log-signals.dox \
notify-signals.dox \
pidgin.1.in \
plugin-i18n.dox \
plugin-ids.dox \
plugin-signals.dox \
savedstatus-signals.dox \
sound-signals.dox \
the_penguin.txt \
xfer-signals.dox