diff options
author | Shannon Zhao <shannon.zhao@linaro.org> | 2017-01-20 11:15:08 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-01-20 11:15:08 +0000 |
commit | abf3a4e5eeab9b1d4dea4149a9e77d970fe83fc5 (patch) | |
tree | 98115370edb635fb3aeb918d51d8e9fc59801485 /hw/arm/virt.c | |
parent | d769a1da342d6af58adcaf1db2752654963a6a8b (diff) |
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/virt.c')
-rw-r--r-- | hw/arm/virt.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 7a03f84051..95ac585e19 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) |