summary refs log tree commit diff stats
path: root/results/classifier/118/vnc/1637447
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/vnc/1637447')
-rw-r--r--results/classifier/118/vnc/163744747
1 files changed, 47 insertions, 0 deletions
diff --git a/results/classifier/118/vnc/1637447 b/results/classifier/118/vnc/1637447
new file mode 100644
index 000000000..5a702f8d8
--- /dev/null
+++ b/results/classifier/118/vnc/1637447
@@ -0,0 +1,47 @@
+vnc: 0.903
+network: 0.884
+device: 0.865
+socket: 0.784
+risc-v: 0.733
+performance: 0.699
+semantic: 0.673
+architecture: 0.631
+register: 0.617
+graphic: 0.616
+kernel: 0.605
+files: 0.586
+ppc: 0.553
+boot: 0.494
+arm: 0.483
+virtual: 0.465
+VMM: 0.414
+mistranslation: 0.409
+i386: 0.358
+TCG: 0.355
+PID: 0.354
+debug: 0.333
+x86: 0.325
+hypervisor: 0.307
+permissions: 0.296
+KVM: 0.295
+user-level: 0.278
+peripherals: 0.242
+assembly: 0.137
+
+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
+