Missing NULL pointer check in  MessageConsumer::autoAcknowledge
---------------------------------------------------------------

                 Key: AMQ-824
                 URL: https://issues.apache.org/activemq/browse/AMQ-824
             Project: ActiveMQ
          Issue Type: Bug
          Components: CMS
    Affects Versions: incubation
         Environment: RHEL ES 4/32bit
            Reporter: Radek Sedmak


When you call consumer->receive() on empty queue receive method returns NULL 
message but before return MessageConsumer::autoAcknowledge method is invoked. 
This method doesn't check message against NULL, this cause coredump is message 
is NULL.

Patch: 
p<IMessage> MessageConsumer::autoAcknowledge(p<IMessage> message)
{
    try
    {
        if ( message != NULL ) {   // <------ Check NULL here !!!!!
          // Is the message an ActiveMQMessage? (throws bad_cast otherwise)
          p<ActiveMQMessage> activeMessage = p_dyncast<ActiveMQMessage> 
(message) ;

          // Register the handler for client acknowledgment
          activeMessage->setAcknowledger( smartify(this) ) ;

          if( acknowledgementMode != ClientAckMode )
              doAcknowledge(activeMessage) ;
        }
    }
    catch( bad_cast& bc )
    {
        // ignore
    }
    return message ;


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to