Monitor: Make output buffer dynamic
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 25 Mar 2013 17:52:26 +0000 (13:52 -0400)
committerLuiz Capitulino <lcapitulino@redhat.com>
Fri, 5 Apr 2013 12:42:29 +0000 (08:42 -0400)
commite1f2641b5926d20f63d36f0de45206be774da8da
treea8d77c01cc146a6627c4ca50e2c44d7f6e93da45
parent54d49ac99227aff646ac940abfab3417f5cb1693
Monitor: Make output buffer dynamic

Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush()
to retry on qemu_chr_fe_write() errors. However, the Monitor's output
buffer can keep growing while the retry is not issued and this can
cause the buffer to overflow.

To reproduce this issue, just start qemu and type on the Monitor:

(qemu) ?

This will cause an assertion to trig.

To fix this problem this commit makes the Monitor buffer dynamic,
which means that it can grow as much as needed.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
monitor.c