b24b7f1
From: P J P <ppandit@redhat.com>
b24b7f1
Date: Mon, 21 Dec 2015 15:13:13 +0530
b24b7f1
Subject: [PATCH] scsi: initialise info object with appropriate size
b24b7f1
b24b7f1
While processing controller 'CTRL_GET_INFO' command, the routine
b24b7f1
'megasas_ctrl_get_info' overflows the '&info' object size. Use its
b24b7f1
appropriate size to null initialise it.
b24b7f1
b24b7f1
Reported-by: Qinghao Tang <luodalongde@gmail.com>
b24b7f1
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
b24b7f1
Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
b24b7f1
Cc: qemu-stable@nongnu.org
b24b7f1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
b24b7f1
Signed-off-by: P J P <ppandit@redhat.com>
b24b7f1
(cherry picked from commit 36fef36b91f7ec0435215860f1458b5342ce2811)
b24b7f1
---
b24b7f1
 hw/scsi/megasas.c | 2 +-
b24b7f1
 1 file changed, 1 insertion(+), 1 deletion(-)
b24b7f1
b24b7f1
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
b24b7f1
index d7dc667..576f56c 100644
b24b7f1
--- a/hw/scsi/megasas.c
b24b7f1
+++ b/hw/scsi/megasas.c
b24b7f1
@@ -718,7 +718,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
b24b7f1
     BusChild *kid;
b24b7f1
     int num_pd_disks = 0;
b24b7f1
 
b24b7f1
-    memset(&info, 0x0, cmd->iov_size);
b24b7f1
+    memset(&info, 0x0, dcmd_size);
b24b7f1
     if (cmd->iov_size < dcmd_size) {
b24b7f1
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
b24b7f1
                                             dcmd_size);