diff options
| author | Eduardo Habkost | 2018-01-09 16:45:13 +0100 |
|---|---|---|
| committer | Eduardo Habkost | 2018-01-18 02:04:31 +0100 |
| commit | 807e9869b8c4119b81df902625af818519e01759 (patch) | |
| tree | 3acb35c8261708235b64cfe3b0b72daebae44edc /scripts/switch-timer-api | |
| parent | target/i386: add clflushopt to "Skylake-Server" cpu model (diff) | |
| download | qemu-807e9869b8c4119b81df902625af818519e01759.tar.gz qemu-807e9869b8c4119b81df902625af818519e01759.tar.xz qemu-807e9869b8c4119b81df902625af818519e01759.zip | |
i386: Change X86CPUDefinition::model_id to const char*
It is valid to have a 48-character model ID on CPUID, however the
definition of X86CPUDefinition::model_id is char[48], which can
make the compiler drop the null terminator from the string.
If a CPU model happens to have 48 bytes on model_id, "-cpu help"
will print garbage and the object_property_set_str() call at
x86_cpu_load_def() will read data outside the model_id array.
We could increase the array size to 49, but this would mean the
compiler would not issue a warning if a 49-char string is used by
mistake for model_id.
To make things simpler, simply change model_id to be const char*,
and validate the string length using an assert() on
x86_register_cpudef_type().
Reported-by: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20180109154519.25634-2-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'scripts/switch-timer-api')
0 files changed, 0 insertions, 0 deletions
