diff options
author | Dunrong Huang <riegamaths@gmail.com> | 2012-07-24 00:42:20 +0800 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> | 2012-08-10 14:28:11 +0100 |
commit | fb7c269ed694c103397c5fffbfcccd3e90aed23c (patch) | |
tree | df70db387a83dbd0f44552d33eb67606c8404667 /vl.c | |
parent | 3d1d9652978ac5a32a0beb4bdf6065ca39440d89 (diff) | |
download | qemu-fb7c269ed694c103397c5fffbfcccd3e90aed23c.tar.gz qemu-fb7c269ed694c103397c5fffbfcccd3e90aed23c.tar.bz2 qemu-fb7c269ed694c103397c5fffbfcccd3e90aed23c.zip |
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: Dunrong Huang <riegamaths@gmail.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -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. |