qemu/qapi
Laszlo Ersek f24582d6ad qapi: fix double free in qmp_output_visitor_cleanup()
Stack entries in QmpOutputVisitor are navigation links (weak references),
except the bottom (ie. least recently added) entry, which owns the root
QObject [1]. Make qmp_output_visitor_cleanup() drop the stack entries,
then release the QObject tree by the root.

Attempting to serialize an invalid enum inside a dictionary is an example
for triggering the double free.

[1] http://lists.nongnu.org/archive/html/qemu-devel/2012-03/msg03276.html

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2012-03-27 09:11:00 -03:00
..
qapi-dealloc-visitor.c
qapi-dealloc-visitor.h
qapi-types-core.h
qapi-visit-core.c qapi: allow sharing enum implementation across visitors 2012-02-21 10:21:05 +01:00
qapi-visit-core.h
qapi-visit-impl.h qapi: allow sharing enum implementation across visitors 2012-02-21 10:21:05 +01:00
qmp-core.h guest agent: add supported command list to guest-info RPC 2011-12-12 17:06:21 -06:00
qmp-dispatch.c guest agent: add RPC blacklist command-line option 2011-12-12 17:06:21 -06:00
qmp-input-visitor.c qapi: drop qmp_input_end_optional 2012-02-21 10:21:05 +01:00
qmp-input-visitor.h
qmp-output-visitor.c qapi: fix double free in qmp_output_visitor_cleanup() 2012-03-27 09:11:00 -03:00
qmp-output-visitor.h
qmp-registry.c guest agent: add supported command list to guest-info RPC 2011-12-12 17:06:21 -06:00
string-input-visitor.c qapi: add string-based visitors 2012-02-21 10:21:05 +01:00
string-input-visitor.h qapi: add string-based visitors 2012-02-21 10:21:05 +01:00
string-output-visitor.c qapi: add string-based visitors 2012-02-21 10:21:05 +01:00
string-output-visitor.h qapi: add string-based visitors 2012-02-21 10:21:05 +01:00