summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-01-29 17:03:07 +0900
committerMichael Tokarev <mjt@tls.msk.ru>2024-02-13 10:59:25 +0300
commitcd8a35b913c24248267c682cb9a348461c106139 (patch)
tree3e9071defe3806b52abc04a10a7656d6cc450c1d
parent9953bf34ee84f1c9b92fb4ab0aa698f9a76cfce6 (diff)
downloadfocaccia-qemu-cd8a35b913c24248267c682cb9a348461c106139.tar.gz
focaccia-qemu-cd8a35b913c24248267c682cb9a348461c106139.zip
hw/smbios: Fix OEM strings table option validation
qemu_smbios_type11_opts did not have the list terminator and that
resulted in out-of-bound memory access. It also needs to have an element
for the type option.

Cc: qemu-stable@nongnu.org
Fixes: 2d6dcbf93fb0 ("smbios: support setting OEM strings table")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r--hw/smbios/smbios.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index c0c5a81e66..a9048c1342 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -376,6 +376,11 @@ static const QemuOptDesc qemu_smbios_type8_opts[] = {
 
 static const QemuOptDesc qemu_smbios_type11_opts[] = {
     {
+        .name = "type",
+        .type = QEMU_OPT_NUMBER,
+        .help = "SMBIOS element type",
+    },
+    {
         .name = "value",
         .type = QEMU_OPT_STRING,
         .help = "OEM string data",
@@ -385,6 +390,7 @@ static const QemuOptDesc qemu_smbios_type11_opts[] = {
         .type = QEMU_OPT_STRING,
         .help = "OEM string data from file",
     },
+    { /* end of list */ }
 };
 
 static const QemuOptDesc qemu_smbios_type17_opts[] = {