summary refs log tree commit diff stats
path: root/hw/smbios/smbios.c
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-01-29 17:03:08 +0900
committerMichael S. Tsirkin <mst@redhat.com>2024-02-14 06:09:33 -0500
commit33b081e2947db6117b27f8c76544a756053f5514 (patch)
tree03ada2966ca4ab231580cc78284110c2253f9aaf /hw/smbios/smbios.c
parente8ddec58053e9361b2cc18ec6d17b6c95590bf3c (diff)
downloadfocaccia-qemu-33b081e2947db6117b27f8c76544a756053f5514.tar.gz
focaccia-qemu-33b081e2947db6117b27f8c76544a756053f5514.zip
hw/smbios: Fix port connector option validation
qemu_smbios_type8_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: fd8caa253c56 ("hw/smbios: support for type 8 (port connector)")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Message-Id: <20240129-smbios-v2-2-9ee6fede0d10@daynix.com>
Reviewed-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/smbios/smbios.c')
-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 a9048c1342..a3c4e52ce9 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -353,6 +353,11 @@ static const QemuOptDesc qemu_smbios_type4_opts[] = {
 
 static const QemuOptDesc qemu_smbios_type8_opts[] = {
     {
+        .name = "type",
+        .type = QEMU_OPT_NUMBER,
+        .help = "SMBIOS element type",
+    },
+    {
         .name = "internal_reference",
         .type = QEMU_OPT_STRING,
         .help = "internal reference designator",
@@ -372,6 +377,7 @@ static const QemuOptDesc qemu_smbios_type8_opts[] = {
         .type = QEMU_OPT_NUMBER,
         .help = "port type",
     },
+    { /* end of list */ }
 };
 
 static const QemuOptDesc qemu_smbios_type11_opts[] = {