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)

Reply via email to