diff options
Diffstat (limited to 'mailinglist/output_launchpad/1637447')
| -rw-r--r-- | mailinglist/output_launchpad/1637447 | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mailinglist/output_launchpad/1637447 b/mailinglist/output_launchpad/1637447 new file mode 100644 index 00000000..0ae97641 --- /dev/null +++ b/mailinglist/output_launchpad/1637447 @@ -0,0 +1,17 @@ +VNC/RFB: QEMU reports incorrect name (length) + +If the name of a machine (as set with the -name argument) has a length longer than 1024, (RFB) VNC clients will not receive a correct RFB ServerInit message. + +I suspect this is the problem: + +https://github.com/qemu/qemu/blob/master/ui/vnc.c#L2463 + +The return value of snprintf is used as the value for the name-length field in the ServerInit message. +This is problematic for names that were truncated to 1024, as the length will now be bigger than the actual name. + +I think a quick fix would be to simply report min(size,1024) to the client... + +The right fix here is to switch to use g_strdup_printf and avoid a fixed length stack buffer entirely. + +Fix has been committed: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=97efe4f961dcf5a0126 + |