rewtguy/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/
SILC Purple Plugin
==================
This is the Purple protocol plugin of the protocol called Secure Internet
Live Conferencing (SILC). The implementation will use the SILC Toolkit,
freely available from the http://silcnet.org/ site, for the actual SILC
protocol implementation.
To include SILC into Purple, one needs to first compile and install
the SILC Toolkit. It is done as follows:
./configure
make
make install
This will compile shared libraries of the SILC Toolkit. If the --prefix
is not given to ./configure, the binaries are installed into the
/usr/local/silc directory.
Once the Toolkit is installed one needs to tell Purple's ./configure
script where the SILC Toolkit is located. It is done as simply as:
./configure
if pkg-config is installed in your system. If it is isn't it's done as:
./configure --with-silc-libs=/path/to/silc/lib
--with-silc-includes=/path/to/silc/include
If the SILC Toolkit cannot be found then the SILC protocol plugin will
not be compiled.