Commit fb7c269e authored by Dunrong Huang's avatar Dunrong Huang Committed by Stefan Hajnoczi
Browse files

vl.c: Exit QEMU early if no machine is found



We check whether the variable machine is NULL or not before accessing
it. If machine is NULL, exit QEMU with an error, this can avoids a
segfault error.

Markus Armbruster <armbru@redhat.com> adds that the segfault can be
reproduced as follows:

  $ qemu-system-xtensa -cpu help

Signed-off-by: default avatarDunrong Huang <riegamaths@gmail.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
parent 3d1d9652
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -3204,6 +3204,11 @@ int main(int argc, char **argv, char **envp)
    }
    loc_set_none();

    if (machine == NULL) {
        fprintf(stderr, "No machine found.\n");
        exit(1);
    }

    if (machine->hw_version) {
        qemu_set_version(machine->hw_version);
    }
@@ -3246,11 +3251,6 @@ int main(int argc, char **argv, char **envp)
        data_dir = CONFIG_QEMU_DATADIR;
    }

    if (machine == NULL) {
        fprintf(stderr, "No machine found.\n");
        exit(1);
    }

    /*
     * Default to max_cpus = smp_cpus, in case the user doesn't
     * specify a max_cpus value.