[mythtv] memory leak in MainServer::FillStatusXML
Isaac Richards
ijr at case.edu
Tue Jul 5 12:15:07 EDT 2005
On Tuesday 05 July 2005 11:48 am, George Nassas wrote:
> On 5-Jul-05, at 12:48 AM, Isaac Richards wrote:
> >> but I have noticed that RootSRGroup is using the compiler-supplied
> >> copy
> >> constructor for ScheduledRecording. Is this intentional?
> >
> > It shouldn't be using a copy of the object like that, no.
> >
> >> My understanding is in these cases memcpy will be used and that's
> >> definitely incompatible with the QStrings contained in that class.
> >> FWIW
> >
> > Not true. It'll use defined copy-constructors if they exist, which is
> > completely safe for QString.
>
> OK, I must have forgotten that one among the hundreds of other C++
> gotchas. In any case all the SR* subclasses don't need reference
> members to their parent, particularly at destruction time when each of
> them tries to destroy the parent that's currently destroying them. I
> replaced the references with pointers.
That's a reasonable change.
> I also noticed that the classes
> in managedlist.h and settings.h are managed through pointers to a base
> class but the majority of them are lacking virtual destructors. Fixing
> those things makes valgrind happier but I still haven't found that
> elusive last memory leak. It looks like something is definitely wrong
> in the managed list hierarchy but I haven't quite nailed it down yet.
Only the top level base class needs a virtual destructor. If a base has a
virtual destructor, any classes inheriting off of it automatically have
virtual destructors.
Isaac
More information about the mythtv-dev
mailing list