]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
hw/nvme: fix leak of uninitialized memory in io_mgmt_recv
authorKlaus Jensen <k.jensen@samsung.com>
Tue, 20 Aug 2024 04:16:48 +0000 (06:16 +0200)
committerKlaus Jensen <k.jensen@samsung.com>
Tue, 20 Aug 2024 04:16:48 +0000 (06:16 +0200)
Yutaro Shimizu from the Cyber Defense Institute discovered a bug in the
NVMe emulation that leaks contents of an uninitialized heap buffer if
subsystem and FDP emulation are enabled.

Cc: qemu-stable@nongnu.org
Reported-by: Yutaro Shimizu <shimizu@cyberdefense.jp>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
hw/nvme/ctrl.c

index c6d4f61a47f9f923eb7965f974140e4b9c7c28d9..9f277b81d83c501c6b179ad550765cd3b0ada56a 100644 (file)
@@ -4474,7 +4474,7 @@ static uint16_t nvme_io_mgmt_recv_ruhs(NvmeCtrl *n, NvmeRequest *req,
 
     nruhsd = ns->fdp.nphs * endgrp->fdp.nrg;
     trans_len = sizeof(NvmeRuhStatus) + nruhsd * sizeof(NvmeRuhStatusDescr);
-    buf = g_malloc(trans_len);
+    buf = g_malloc0(trans_len);
 
     trans_len = MIN(trans_len, len);