bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: setupterm memory leak


From: Thomas Dickey
Subject: Re: setupterm memory leak
Date: Sat, 09 May 2009 19:19:36 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

On Thu, May 07, 2009 at 09:08:42PM -0000, Usamah Malik wrote:
>
> We'd been finding memory leaks (via valgrind) in ncurses. This happens  
> when ncurses is being used from tecla library. The stack is below:
>
> ==5125== 46,254 (2,236 direct, 44,018 indirect) bytes in 13 blocks are  
> definitely lost in loss record 43 of 45
> ==5125==    at 0x400497E: calloc (vg_replace_malloc.c:397)
> ==5125==    by 0x5386C86: _nc_setupterm (in /usr/lib/libncurses.so.5.7)
> ==5125==    by 0x53871E2: setupterm (in /usr/lib/libncurses.so.5.7)
> ==5125==    by 0x825596E: _gl_change_terminal (in .........)
>
> ncurse version: 5.7
> platform: linux x86
>
>
> On deeper analysis of setupterm we found a global variable being assigned 
> chunks of memory at every setupterm call. Applying the following diff to  
> lib_setup.c seems to fix it:
>
> -------
> diff ./ncurses/tinfo/lib_setup_old.c ./ncurses/tinfo/lib_setup.c
> 587,589c587
> <       TERMINAL *oldterm = set_curterm(termp);
> <
> <       del_curterm(oldterm);

this chunk doesn't appear in ncurses...

> ---
>>       set_curterm(termp);

this chunk does...

(but your diff suggests that the first chunk is in ncurses, and that
you want to use the second)

-- 
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]