[vdr] 1.3.22: memory leaks
Stefan Huelswitt
s.huelswitt at gmx.de
Sun Mar 27 13:51:18 CEST 2005
On 27 Mar 2005 Clemens Kirchgatterer <clemens at 1541.org> wrote:
> s.huelswitt at gmx.de (Stefan Huelswitt) wrote:
>
>> Second is in epg.c tComponent::FromString(). I cannot find
>> anything bad with the code there, but valgrind reports a lot of
>> memory leaks with the sscanf() call. So I guessed that sscanf() is
>> leaking internaly when used with "%a[\n]" (at least with my glibc
>> version 2.2.5). After changing to code to the suggestion below,
>> the leaks disappeared:
>
> from man sscanf:
>
> a Indicates that the conversion will be s, the needed
> memory space for the string will be malloc'ed and the
> pointer to it will be assigned to the char pointer
> variable, which does not have to be initialized before.
>
> so, yes, the user is responsible for freeing memory allocated by sscanf.
Yes, of course. I can read man pages ;)
This is not what I'm talking about. The malloc memory is free'd
by VDR, but there is still some memory leaked. I think it's
internaly lost.
This can be proven with my patch. If the %a[ is obmitted, there
is no leak.
Regards.
--
Stefan Huelswitt
s.huelswitt at gmx.de | http://www.muempf.de/
More information about the vdr
mailing list