[
https://issues.apache.org/jira/browse/ARTEMIS-1135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15993277#comment-15993277
]
ASF subversion and git services commented on ARTEMIS-1135:
----------------------------------------------------------
Commit b998a8bdafd6dbe8c60d75980c4495804dbebc2a in activemq-artemis's branch
refs/heads/master from [~adityasharad]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=b998a8b ]
ARTEMIS-1135: Fix potential message count overflow
Have `AddressControlImpl::getMessageCount` use and return a `long`.
Prevents potential overflow from use of an `int` count variable.
Fixes one of the "Implicit narrowing conversion in compound assignment"
alerts at https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
> Overflows during integer addition or multiplication
> ---------------------------------------------------
>
> Key: ARTEMIS-1135
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1135
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.0.0
> Reporter: Aditya Sharad
>
> The "Result of integer multiplication cast to long" and "Implicit narrowing
> conversion in compound assignment" rules at
> https://lgtm.com/projects/g/apache/activemq-artemis/alerts/ detect multiple
> instances of potential overflow during integer addition or multiplication.
> The first rule detects two instances where the result of the multiplication
> is cast to {{long}}, but the individual operands are {{int}}s. This may lead
> to overflow during the multiplication.
> - In {{MySQLSQLProvider}}, this occurs when setting the max blob size, which
> overflows to zero at runtime rather than the intended 4GB.
> - In {{MQTTProtocolHandler}}, this occurs when determining the time to keep
> the connection alive.
> The second rule detects two instances where a {{long}} value is added to an
> {{int}}-valued variable, forcing implicit conversion and possibly overflow.
> - In {{AddressControlImpl}}, queue message counts are {{longs}} but added up
> in an {{int}}.
> - In {{MessageCounter.DayCounter}}, the {{counters}} array elements will have
> {{long}} message counts added to them, and so should be of type {{long}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)