You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jiri Daněk (JIRA)" <ji...@apache.org> on 2018/01/24 16:45:00 UTC
[jira] [Created] (ARTEMIS-1634) Coverity: Unintentional integer
overflow (OVERFLOW_BEFORE_WIDEN) in QueueControlImpl.java
Jiri Daněk created ARTEMIS-1634:
-----------------------------------
Summary: Coverity: Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) in QueueControlImpl.java
Key: ARTEMIS-1634
URL: https://issues.apache.org/jira/browse/ARTEMIS-1634
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Broker
Affects Versions: 2.5.0
Reporter: Jiri Daněk
{noformat}
968 @Override
969 public CompositeData[] browse(int page, int pageSize) throws Exception {
970 String filter = null;
971 checkStarted();
972
973 clearIO();
974 try {
975 long index = 0;
CID 1464349 (#1 of 2): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN) [select issue]
976 long start = (page - 1) * pageSize;
CID 1464349 (#2 of 2): Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)overflow_before_widen: Potentially overflowing expression page * pageSize with type int (32 bits, signed) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type long (64 bits, signed).
To avoid overflow, cast either page or pageSize to type long rather than casting the result of the potential overflow.
977 long end = Math.min((long)(page * pageSize), queue.getMessageCount());
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)