Commit 8efebd4e authored by Alexander Bulekov's avatar Alexander Bulekov Committed by Thomas Huth
Browse files

fuzz: Add support for logging QTest commands



Signed-off-by: default avatarAlexander Bulekov <alxndr@bu.edu>
Message-Id: <20200529221450.26673-3-alxndr@bu.edu>
Reviewed-by: default avatarDarren Kenny <darren.kenny@oracle.com>
Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
parent d92e1b6d
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -94,7 +94,9 @@ static void usage(char *path)
    printf("Alternatively, add -target-FUZZ_TARGET to the executable name\n\n"
           "Set the environment variable FUZZ_SERIALIZE_QTEST=1 to serialize\n"
           "QTest commands into an ASCII protocol. Useful for building crash\n"
           "reproducers, but slows down execution.\n");
           "reproducers, but slows down execution.\n\n"
           "Set the environment variable QTEST_LOG=1 to log all qtest commands"
           "\n");
    exit(0);
}

@@ -197,6 +199,11 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char ***envp)

    /* Run QEMU's softmmu main with the fuzz-target dependent arguments */
    const char *init_cmdline = fuzz_target->get_init_cmdline(fuzz_target);
    init_cmdline = g_strdup_printf("%s -qtest /dev/null -qtest-log %s",
                                   init_cmdline,
                                   getenv("QTEST_LOG") ? "/dev/fd/2"
                                                       : "/dev/null");


    /* Split the runcmd into an argv and argc */
    wordexp_t result;