On 11/25/2015 05:47 AM, spam trap wrote: > Hi, > > I have the following code: > > cms::Message *pMessage; > ... > std::vector<std::string> propertyNames = pMessage->getPropertyNames(); > > According to valgrind this leaks memory. propertyNames is on the > stack BTW. > > ==27758== 50,039,920 (289,968 direct, 49,749,952 indirect) bytes in > 6,041 blocks are definitely lost in loss record 383 of 384 > ==27758== at 0x4A075FC: operator new(unsigned long) > (vg_replace_malloc.c:298) > ==27758== by 0x5F77EF9: decaf::util::StlMap<std::string, > activemq::util::PrimitiveValueNode, > decaf::util::comparators::Less<std::string> >::keySet() const > (StlMap.h:866) > ==27758== by 0x5C3799E: > activemq::commands::ActiveMQMessageTemplate<cms::BytesMessage>::getPropertyNames() > const (ActiveMQMessageTemplate.h:109) > > Any ideas? > > >From a quick code inspection I don't see any case where a leak can occur. If you can add a test case to the existing set of unit tests for the Message objects to reproduce the valgrind complaint I will look again.
Try adding something to src/test/activemq/commands/ActiveMQMessageTest.h/cpp -- Tim Bish Sr Software Engineer | RedHat Inc. tim.b...@redhat.com | www.redhat.com twitter: @tabish121 blog: http://timbish.blogspot.com/