[vdr] [ANNOUNCE] VDR developer version 1.3.49 - Memleak

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sat Apr 29 15:24:09 CEST 2006


Tobias Grimm wrote:
> Klaus Schmidinger wrote:
> 
>> Thanks - applied for version 1.4.0.
> 
> 
> I'm afraid I've found another minor memory leak. Valgrind would really
> be worth it's money, if it wouldn't be free :-)
> 
> When playing back a recording, the file handle gets closed, but not the
> cUnbufferedFile object. I'm not sure why a distinction is made between
> recording and not recording when closing the file, so I just use
> CloseVideoFile() in both cases, which correctly frees the object. Hope
> this is correct. See attached patch.
> 
> Regards,
> 
> Tobias
> 
> 
> ------------------------------------------------------------------------
> 
> --- vdr-1.3.49.orig/recording.c
> +++ vdr-1.3.49/recording.c
> @@ -1436,7 +1436,7 @@
>  void cFileName::Close(void)
>  {
>    if (file) {
> -     if ((record && CloseVideoFile(file) < 0) || (!record && file->Close() < 0))
> +     if (CloseVideoFile(file))
>          LOG_ERROR_STR(fileName);
>       file = NULL;
>       }

The CloseVideoFile() function is the counterpart to the OpenVideoFile()
function, which takes care of handling distributed video directories etc.
Before the introduction of cUnbufferedFile the code in cFileName::Close()
was ok, but now it would appear that your change is actually the right
thing to do.

Applied for version 1.4.0.

Klaus



More information about the vdr mailing list