hw/nvme: fix missing variable initializers

Coverity found that 'uuid', 'csi' and 'eui64' are uninitialized. While
we set most of the fields, we do not explicitly set the rsvd2 field in
the NvmeIdNsDescr header.

Fix this by explicitly zero-initializing the variables.

Reported-by: Coverity (CID 1458835, 1459295 and 1459580)
Fixes: 6870cfb814 ("hw/nvme: namespace parameter for EUI-64")
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
master
Klaus Jensen 2021-08-09 12:34:40 +02:00
parent dee64246de
commit 5f4884c441
1 changed files with 3 additions and 3 deletions

View File

@ -4663,15 +4663,15 @@ static uint16_t nvme_identify_ns_descr_list(NvmeCtrl *n, NvmeRequest *req)
struct {
NvmeIdNsDescr hdr;
uint8_t v[NVME_NIDL_UUID];
} QEMU_PACKED uuid;
} QEMU_PACKED uuid = {};
struct {
NvmeIdNsDescr hdr;
uint64_t v;
} QEMU_PACKED eui64;
} QEMU_PACKED eui64 = {};
struct {
NvmeIdNsDescr hdr;
uint8_t v;
} QEMU_PACKED csi;
} QEMU_PACKED csi = {};
trace_pci_nvme_identify_ns_descr_list(nsid);