summaryrefslogtreecommitdiff
path: root/hw/scsi/mptconfig.c
diff options
context:
space:
mode:
authorPrasad J Pandit <pjp@fedoraproject.org>2016-08-31 17:36:07 +0530
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-13 19:08:46 +0200
commitcf2bce203a45d7437029d108357fb23fea0967b6 (patch)
treeef7aeb74c35486cc029ef5a656a6774106a8e359 /hw/scsi/mptconfig.c
parent7f61f4690dd153be98900a2a508b88989e692753 (diff)
downloadqemu-cf2bce203a45d7437029d108357fb23fea0967b6.tar.gz
scsi: mptconfig: fix an assert expression
When LSI SAS1068 Host Bus emulator builds configuration page headers, mptsas_config_pack() should assert that the size fits in a byte. However, the size is expressed in 32-bit units, so up to 1020 bytes fit. The assertion was only allowing replies up to 252 bytes, so fix it. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org> Message-Id: <1472645167-30765-2-git-send-email-ppandit@redhat.com> Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/scsi/mptconfig.c')
-rw-r--r--hw/scsi/mptconfig.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/scsi/mptconfig.c b/hw/scsi/mptconfig.c
index 707185469e..3e4f400115 100644
--- a/hw/scsi/mptconfig.c
+++ b/hw/scsi/mptconfig.c
@@ -158,7 +158,7 @@ static size_t mptsas_config_pack(uint8_t **data, const char *fmt, ...)
va_end(ap);
if (data) {
- assert(ret < 256 && (ret % 4) == 0);
+ assert(ret / 4 < 256 && (ret % 4) == 0);
stb_p(*data + 1, ret / 4);
}
return ret;