OSDN Git Service

scsi-generic: avoid out-of-bounds access to VPD page list
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 22 Oct 2018 22:58:43 +0000 (00:58 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 6 Nov 2018 20:35:05 +0000 (21:35 +0100)
commit57dbb58d800f62b9e56d946660dba4e8dbd20204
tree6d71f68d85a5691af212dca8fc8c4c1c432c8e26
parent6c219fc8a112fc69b29f59ea2c7865717ff6e3e0
scsi-generic: avoid out-of-bounds access to VPD page list

A device can report an excessive number of VPD pages when asked for a
list; this can cause an out-of-bounds access to buf in
scsi_generic_set_vpd_bl_emulation.  It should not happen, but
it is technically not incorrect so handle it: do not check any byte
past the allocation length that was sent to the INQUIRY command.

Reported-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/scsi-generic.c