aboutsummaryrefslogtreecommitdiff
path: root/hw/arm
diff options
context:
space:
mode:
authorShannon Zhao <shannon.zhao@linaro.org>2017-01-20 11:15:08 +0000
committerPeter Maydell <peter.maydell@linaro.org>2017-01-20 11:15:08 +0000
commitabf3a4e5eeab9b1d4dea4149a9e77d970fe83fc5 (patch)
tree98115370edb635fb3aeb918d51d8e9fc59801485 /hw/arm
parentd769a1da342d6af58adcaf1db2752654963a6a8b (diff)
downloadqemu-abf3a4e5eeab9b1d4dea4149a9e77d970fe83fc5.zip
qemu-abf3a4e5eeab9b1d4dea4149a9e77d970fe83fc5.tar.gz
qemu-abf3a4e5eeab9b1d4dea4149a9e77d970fe83fc5.tar.bz2
arm: virt: Fix segmentation fault when specifying an unsupported CPU
Using -cpu cortex-a9 (or any other unsupported CPU) with the virt board will cause QEMU to segmentation fault. This bug was introduced in commit 9ac4ef77, which incorrectly added a NULL terminator when converting the VirtBoardInfo array into a simple array of strings defining the valid CPUs. The cpuname_valid() loop already has a termination condition based on ARRAY_SIZE, so the NULL is spurious and causes the strcmp() to segfault if we reach it. Delete the NULL. Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Message-id: 1484619334-10488-1-git-send-email-zhaoshenglong@huawei.com [PMM: expanded commit message] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm')
-rw-r--r--hw/arm/virt.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 7a03f84..95ac585 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -167,7 +167,6 @@ static const char *valid_cpus[] = {
"cortex-a53",
"cortex-a57",
"host",
- NULL
};
static bool cpuname_valid(const char *cpu)