From: Soumyajyotii Ssarkar <[email protected]> The code dereferences s->current before checking if it is NULL. Move the null check before the dereference to prevent potential crashes.
This issue could occur if s->current is NULL when the function reaches the "Host adapter (re)connected" path, though this should not normally happen during correct operation. Reported-by: Stefan Hajnoczi <[email protected]> Reported-by: GuoHan Zhao <[email protected]> Suggested-by: GuoHan Zhao <[email protected]> Signed-off-by: Soumyajyotii Ssarkar <[email protected]> Reviewed-by: Helge Deller <[email protected]> Signed-off-by: Helge Deller <[email protected]> --- hw/scsi/ncr53c710.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/scsi/ncr53c710.c b/hw/scsi/ncr53c710.c index ade951b1d1..a35c41b67f 100644 --- a/hw/scsi/ncr53c710.c +++ b/hw/scsi/ncr53c710.c @@ -832,12 +832,11 @@ void ncr710_transfer_data(SCSIRequest *req, uint32_t len) } /* Host adapter (re)connected */ - s->current->dma_len = len; s->command_complete = NCR710_CMD_DATA_READY; - if (!s->current) { return; } + s->current->dma_len = len; if (s->waiting) { s->scntl1 |= NCR710_SCNTL1_CON; -- 2.51.1
