qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QMP accepts double dict keys


From: Eric Blake
Subject: Re: [Qemu-devel] QMP accepts double dict keys
Date: Mon, 3 Dec 2018 10:36:17 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 12/3/18 10:30 AM, Max Reitz wrote:
Hi,

QMP accepts double keys in dicts without complaining.  The value it is
using is apparently the last one specified:

JSON says it is undefined what happens when a client passes double keys. We are probably best off if we teach our parser to be strict and reject doubled keys in QMP as invalid.

Hmm - can a client abuse QMP with duplicate keys to cause qemu to leak memory?


$ qemu-system-x86_64 -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 93, "minor": 0, "major": 3},
"package": "v3.1.0-rc3-7-g87a45d86ed"}, "capabilities": []}}
{'execute':'qmp_capabilities'}
{"return": {}}
{'execute':'blockdev-add','arguments':{'driver':'null-co',
  'node-name':'foo','node-name':'bar'}}
{"return": {}}
{'execute':'query-named-block-nodes'}
{"return": [{ [...] "node-name": "bar" [...] }]}

Another test case is iotest 229 which specifies both mode=absolute-paths
and mode=existing (it wants the latter).

Max


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]