]> git.proxmox.com Git - qemu.git/commitdiff
scsi-disk: improve out-of-range LBA detection for WRITE SAME
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 9 Aug 2012 11:34:53 +0000 (13:34 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 9 Aug 2012 13:35:45 +0000 (15:35 +0200)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi-disk.c

index 9af9d18fadf3ada393db74a8d2b64e6dc2e55e15..584aec13fba53b2abdb536e26e1da6b9c82c5f16 100644 (file)
@@ -1712,7 +1712,8 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf)
             scsi_check_condition(r, SENSE_CODE(WRITE_PROTECTED));
             return 0;
         }
-        if (r->req.cmd.lba > s->qdev.max_lba) {
+        if (r->req.cmd.lba > r->req.cmd.lba + nb_sectors ||
+            r->req.cmd.lba + nb_sectors - 1 > s->qdev.max_lba) {
             goto illegal_lba;
         }