863f195fa8
In the struct OptsVisitor, the 'repeated_opts' member points to a list in the 'unprocessed_opts' hash table after the list has been destroyed. A subsequent call to visit_type_int() references the deleted list. It results in use-after-free issue reproduced by running the test case under the Valgrind: valgrind tests/test-opts-visitor. A new mode ListMode::LM_TRAVERSED is declared to mark the list traversal completed. Suggested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Message-Id: <1565024586-387112-1-git-send-email-andrey.shinkevich@virtuozzo.com> |
||
---|---|---|
.. | ||
audio.json | ||
authz.json | ||
block-core.json | ||
block.json | ||
char.json | ||
common.json | ||
crypto.json | ||
dump.json | ||
error.json | ||
introspect.json | ||
job.json | ||
machine-target.json | ||
machine.json | ||
Makefile.objs | ||
migration.json | ||
misc-target.json | ||
misc.json | ||
net.json | ||
opts-visitor.c | ||
qapi-clone-visitor.c | ||
qapi-dealloc-visitor.c | ||
qapi-schema.json | ||
qapi-util.c | ||
qapi-visit-core.c | ||
qdev.json | ||
qmp-dispatch.c | ||
qmp-event.c | ||
qmp-registry.c | ||
qobject-input-visitor.c | ||
qobject-output-visitor.c | ||
qom.json | ||
rdma.json | ||
rocker.json | ||
run-state.json | ||
sockets.json | ||
string-input-visitor.c | ||
string-output-visitor.c | ||
tpm.json | ||
trace-events | ||
trace.json | ||
transaction.json | ||
ui.json |