[ 
https://issues.apache.org/jira/browse/ARTEMIS-4805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Bertram reassigned ARTEMIS-4805:
---------------------------------------

    Assignee: Justin Bertram

> Null dereferencing in ScaleDownHandler.java
> -------------------------------------------
>
>                 Key: ARTEMIS-4805
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4805
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Galkin Alexey
>            Assignee: Justin Bertram
>            Priority: Major
>
> In [line 
> 333|https://github.com/apache/activemq-artemis/blob/main/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java]
>  in file {{ScaleDownHandler.java}} variable {{queueCreateSession}} is 
> initialized
> {code:java}
> ClientSession queueCreateSession = sessionFactory.createSession(user, 
> password, false, true, true, false, 0);{code}
> In  [line 
> 851|https://github.com/apache/activemq-artemis/blob/main/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionFactoryImpl.java]
>  in {{ClientSessionFactoryImp.java}}, the code synchronizes with the 
> {{sessions}} collection and checks whether the current session is closed or 
> whether the client protocol manager is down. If the closed session or 
> inactive client protocol manager condition is met, the session is closed and 
> {{null}} is returned
> {code:java}
> if (closed || !clientProtocolManager.isAlive()) {
>    session.close();
>    return null;
> }{code}
> The {{queueCreateSession}} variable could potentially be {{null}}.
> In [line 
> 357|https://github.com/apache/activemq-artemis/blob/main/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java]
>  in file {{ScaleDownHandler.java}} variable {{queueCreateSession}} is passed 
> to the function {{createQueueWithRoutingTypeIfNecessaryAndGetID}} as the 
> first argument:
> {code:java}
> queueID = createQueueWithRoutingTypeIfNecessaryAndGetID(queueCreateSession, 
> queue, message.getAddressSimpleString(), message.getRoutingType());{code}
> In [line 
> 450|https://github.com/apache/activemq-artemis/blob/main/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScaleDownHandler.java]
>  in file {{ScaleDownHandler.java}} potential {{null}} dereference occurs:
> {code:java}
> session.createQueue(new QueueConfiguration(...));{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to