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