diff options
author | Prasad J Pandit <pjp@fedoraproject.org> | 2016-08-31 17:36:07 +0530 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2016-11-02 16:41:35 -0500 |
commit | 0b6ab25367c1dde9ecbd1bc331795fee0554bd54 (patch) | |
tree | 795f7acc141bdd45f634b6806ff4946a1746eb7b /hw | |
parent | 742886578d76e088d7fffdfce3bd2f4001e30558 (diff) | |
download | qemu-0b6ab25367c1dde9ecbd1bc331795fee0554bd54.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>
(cherry picked from commit cf2bce203a45d7437029d108357fb23fea0967b6)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/scsi/mptconfig.c | 2 |
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; |