You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Nathan Mittler (JIRA)" <ji...@apache.org> on 2007/02/27 13:29:03 UTC
[jira] Updated: (AMQCPP-71) Missing NULL pointer check in
MessageConsumer::autoAcknowledge
[ https://issues.apache.org/activemq/browse/AMQCPP-71?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nathan Mittler updated AMQCPP-71:
---------------------------------
Component/s: Other C++ Clients
> Missing NULL pointer check in MessageConsumer::autoAcknowledge
> ---------------------------------------------------------------
>
> Key: AMQCPP-71
> URL: https://issues.apache.org/activemq/browse/AMQCPP-71
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Other C++ Clients
> Environment: RHEL ES 4/32bit
> Reporter: Radek Sedmak
> Assigned To: Nathan Mittler
> Attachments: patch.txt
>
> Original Estimate: 10 minutes
> Remaining Estimate: 10 minutes
>
> 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.
-
You can reply to this email to add a comment to the issue online.