2016-07-14 17:50:35 +02:00
|
|
|
From e7b653272e0242843f39b9b8d65694c29028fdf5 Mon Sep 17 00:00:00 2001
|
2016-06-10 17:24:43 +02:00
|
|
|
From: Prasad J Pandit <pjp@fedoraproject.org>
|
|
|
|
Date: Tue, 7 Jun 2016 16:44:03 +0530
|
|
|
|
Subject: [PATCH] scsi: megasas: null terminate bios version buffer
|
|
|
|
|
|
|
|
While reading information via 'megasas_ctrl_get_info' routine,
|
|
|
|
a local bios version buffer isn't null terminated. Add the
|
|
|
|
terminating null byte to avoid any OOB access.
|
|
|
|
|
|
|
|
Reported-by: Li Qiang <liqiang6-s@360.cn>
|
|
|
|
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
|
|
|
|
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
|
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
|
(cherry picked from commit 844864fbae66935951529408831c2f22367a57b6)
|
|
|
|
[BR: CVE-2016-5337 BSC#983961]
|
|
|
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|
|
|
---
|
|
|
|
hw/scsi/megasas.c | 1 +
|
|
|
|
1 file changed, 1 insertion(+)
|
|
|
|
|
|
|
|
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
|
|
|
|
index 96aee1c..893448b 100644
|
|
|
|
--- a/hw/scsi/megasas.c
|
|
|
|
+++ b/hw/scsi/megasas.c
|
|
|
|
@@ -773,6 +773,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
|
|
|
|
|
|
|
|
ptr = memory_region_get_ram_ptr(&pci_dev->rom);
|
|
|
|
memcpy(biosver, ptr + 0x41, 31);
|
|
|
|
+ biosver[31] = 0;
|
|
|
|
memcpy(info.image_component[1].name, "BIOS", 4);
|
|
|
|
memcpy(info.image_component[1].version, biosver,
|
|
|
|
strlen((const char *)biosver));
|