32 lines
925 B
Diff
32 lines
925 B
Diff
|
From: Li Qiang <address@hidden>
|
||
|
|
||
|
When processing IO request in mptsas, it uses g_new to allocate
|
||
|
a 'req' object. If an error occurs before 'req->sreq' is
|
||
|
allocated, It could lead to an OOB write in mptsas_free_request
|
||
|
function. Use g_new0 to avoid it.
|
||
|
|
||
|
Reported-by: Li Qiang <address@hidden>
|
||
|
Signed-off-by: Prasad J Pandit <address@hidden>
|
||
|
Message-Id: <address@hidden>
|
||
|
Cc: address@hidden
|
||
|
Signed-off-by: Paolo Bonzini <address@hidden>
|
||
|
---
|
||
|
hw/scsi/mptsas.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
|
||
|
index 0e0a22f..eaae1bb 100644
|
||
|
--- a/hw/scsi/mptsas.c
|
||
|
+++ b/hw/scsi/mptsas.c
|
||
|
@@ -304,7 +304,7 @@ static int mptsas_process_scsi_io_request(MPTSASState *s,
|
||
|
goto bad;
|
||
|
}
|
||
|
|
||
|
- req = g_new(MPTSASRequest, 1);
|
||
|
+ req = g_new0(MPTSASRequest, 1);
|
||
|
QTAILQ_INSERT_TAIL(&s->pending, req, next);
|
||
|
req->scsi_io = *scsi_io;
|
||
|
req->dev = s;
|
||
|
--
|
||
|
1.8.3.1
|