activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From adityasharad <...@git.apache.org>
Subject [GitHub] activemq-artemis pull request #1237: ARTEMIS-1135: Fix lgtm.com alerts - ove...
Date Sat, 29 Apr 2017 20:17:33 GMT
GitHub user adityasharad opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1237

    ARTEMIS-1135: Fix lgtm.com alerts - overflows in integer addition or multiplication

    This PR addresses ARTEMIS-1135, issued based on the alerts found by 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/. 
    
    In `MySQLSQLProvider`, overflow occurs when setting the max blob size, which overflows
to zero at runtime rather than the intended 4GB
    In `MQTTProtocolHandler`, overflow occurs when determining the time to keep the connection
alive.
    These are both fixed by casting the operands to `long` first.
    
    In `AddressControlImpl`, queue message counts are `long`s but added up in an `int`.
    In `MessageCounter.DayCounter`, the `counters` array holds `int`s but its elements will
have `long` message counts added to them.
    These are both fixed by changing the counter variables and relevant return types to `long`.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/adityasharad/activemq-artemis fix/lgtm-alerts-int-overflow

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/1237.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1237
    
----
commit b8f21bf2e31e5d9d121fd763d1b058bc2de1f6af
Author: Aditya Sharad <aditya@semmle.com>
Date:   2017-04-29T14:03:51Z

    ARTEMIS-1135: Fix integer multiplication overflows
    
    Multiplication operations where the operands have type `int` but the
    result is cast to `long` may lead to overflow.
    Fixes two instances of this problem, by ensuring the operands are cast
    to `long` during multiplication.
    This resolves the "Result of integer multiplication cast to long"
    alerts at https://lgtm.com/projects/g/apache/activemq-artemis/alerts.

commit bb4bee488020092eebfd0a1e6e84ab85bafd83c7
Author: Aditya Sharad <aditya@semmle.com>
Date:   2017-04-29T14:34:06Z

    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.

commit 9c10169dc3fd45d8fe9784157ed5a6dcb84b1be2
Author: Aditya Sharad <aditya@semmle.com>
Date:   2017-04-29T14:52:08Z

    ARTEMIS-1135: Prevent overflow in `DayCounter`
    
    Use `long` array for hourly counters instead of `int` array.
    Prevents overflow when the number of new messages (a `long`) is added.
    Fixes one of the "Implicit narrowing conversion in compound assignment"
    alerts on https://lgtm.com/projects/g/apache/activemq-artemis/alerts.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message