]> git.proxmox.com Git - qemu.git/commit
qmp: Fix design bug and read beyond buffer in memchar-write
authorMarkus Armbruster <armbru@redhat.com>
Wed, 6 Feb 2013 20:27:14 +0000 (21:27 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 6 Feb 2013 22:35:17 +0000 (16:35 -0600)
commit82e59a676c01b3df3b53998d428d0a64a55f2439
treec57a24a95c993f67f20b55a2d2510a06aacdcd1c
parent15af6321f4d1f90d0ae1b5cb05093c48b41c4533
qmp: Fix design bug and read beyond buffer in memchar-write

Command memchar-write takes data and size parameter.  Begs the
question what happens when data doesn't match size.

With format base64, qmp_memchar_write() copies the full data argument,
regardless of size argument.

With format utf8, qmp_memchar_write() copies size bytes from data,
happily reading beyond data.  Copies crap from the heap or even
crashes.

Drop the size parameter, and always copy the full data argument.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hmp.c
qapi-schema.json
qemu-char.c
qmp-commands.hx