QMP: Check "arguments" member's type
Otherwise the following input crashes QEMU: { "execute": "migrate", "arguments": "tcp:0:4446" } Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
abaf2f5271
commit
04f8c053cc
@ -4437,6 +4437,9 @@ static void handle_qmp_command(JSONMessageParser *parser, QList *tokens)
|
||||
obj = qdict_get(input, "arguments");
|
||||
if (!obj) {
|
||||
args = qdict_new();
|
||||
} else if (qobject_type(obj) != QTYPE_QDICT) {
|
||||
qerror_report(QERR_QMP_BAD_INPUT_OBJECT_MEMBER, "arguments", "object");
|
||||
goto err_input;
|
||||
} else {
|
||||
args = qobject_to_qdict(obj);
|
||||
QINCREF(args);
|
||||
|
Loading…
Reference in New Issue
Block a user