rewtguy/pidgin
Clone
Summary
Browse
Changes
Graph
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/
EXTRA_DIST
=
\
Makefile.mingw
\
README
\
TODO
pkgdir
=
$(
libdir
)
/purple-
$(
PURPLE_MAJOR_VERSION
)
SILCSOURCES
=
\
buddy.c
\
chat.c
\
ft.c
\
ops.c
\
pk.c
\
silc.c
\
silcpurple.h
\
util.c
\
wb.c
\
wb.h
AM_CFLAGS
=
$(
st
)
libsilcpurple_la_LDFLAGS
=
-module
-avoid-version
if STATIC_SILC
st
=
-DPURPLE_STATIC_PRPL
$(
SILC_CFLAGS
)
noinst_LTLIBRARIES
=
libsilcpurple.la
libsilcpurple_la_SOURCES
=
$(
SILCSOURCES
)
libsilcpurple_la_CFLAGS
=
$(
AM_CFLAGS
)
libsilcpurple_la_LIBADD
=
$(
SILC_LIBS
)
else
st
=
$(
SILC_CFLAGS
)
pkg_LTLIBRARIES
=
libsilcpurple.la
libsilcpurple_la_SOURCES
=
$(
SILCSOURCES
)
libsilcpurple_la_LIBADD
=
$(
GLIB_LIBS
)
$(
SILC_LIBS
)
endif
AM_CPPFLAGS
=
\
-I
$(
top_srcdir
)
/libpurple
\
-I
$(
top_builddir
)
/libpurple
\
$(
DEBUG_CFLAGS
)
\
$(
GLIB_CFLAGS
)
\
$(
SILC_CFLAGS
)