Add a new generic fuzz target for the QEMU VNC server. This allows the generic fuzzer to directly exercise the VNC protocol implementation by connecting to a VNC unix socket.
--- This new target increases code coverage in the VNC subsystem and related networking and I/O code. The baseline coverage below was generated by running all existing fuzz targets with the oss-fuzz corpus. The new target shows significant gains: ---------------------------------------------------------------------------- File New Target Baseline Change ---------------------------------------------------------------------------- vnc.c 339/3212 (10.6%) 3/3212 (0.1%) +336 keymaps.c 91/184 (49.5%) 0/184 (0.0%) +91 net-listener.c 76/198 (38.4%) 3/198 (1.5%) +73 channel-socket.c 73/575 (12.7%) 19/575 (3.3%) +54 qemu-sockets.c 44/1019 (4.3%) 0/1019 (0.0%) +44 vnc-jobs.c 41/219 (18.7%) 0/219 (0.0%) +41 dns-resolver.c 28/145 (19.3%) 3/145 (2.1%) +25 Signed-off-by: Navid Emamdoost <[email protected]> --- tests/qtest/fuzz/generic_fuzz_configs.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/qtest/fuzz/generic_fuzz_configs.h b/tests/qtest/fuzz/generic_fuzz_configs.h index ef0ad95712..2e802ab226 100644 --- a/tests/qtest/fuzz/generic_fuzz_configs.h +++ b/tests/qtest/fuzz/generic_fuzz_configs.h @@ -247,6 +247,10 @@ const generic_fuzz_config predefined_configs[] = { .args = "-machine q35 -nodefaults " "-parallel file:/dev/null", .objects = "parallel*", + },{ + .name = "vnc", + .args = "-machine q35 -nodefaults -vnc vnc=unix:/tmp/qemu-vnc.sock", + .objects = "*", } }; -- 2.51.0.740.g6adb054d12-goog
