aboutsummaryrefslogtreecommitdiff
path: root/hw/timer
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2018-01-09 13:45:13 -0200
committerEduardo Habkost <ehabkost@redhat.com>2018-01-17 23:04:31 -0200
commit807e9869b8c4119b81df902625af818519e01759 (patch)
tree3acb35c8261708235b64cfe3b0b72daebae44edc /hw/timer
parentc68bcb3a994a3647ea70899d050debb0ff72d86a (diff)
downloadqemu-807e9869b8c4119b81df902625af818519e01759.zip
qemu-807e9869b8c4119b81df902625af818519e01759.tar.gz
qemu-807e9869b8c4119b81df902625af818519e01759.tar.bz2
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 'hw/timer')
0 files changed, 0 insertions, 0 deletions