Aditya Sharad created ARTEMIS-1135:
--------------------------------------
Summary: 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)