bug-ncurses
[Top][All Lists]
Advanced

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

A memory leak in _nc_wrap_entry


From: 乐泰
Subject: A memory leak in _nc_wrap_entry
Date: Thu, 20 Aug 2020 11:03:57 +0800 (GMT+08:00)

Reporter: Tai

Version: ncurses-6.2

Command: AFL_USE_ASAN=1 sudo make install

Environment: Ubuntu 16.04 x86-64

Detail Information: we have found some memory leaks in ncurses-6.2 when we compile the ncurses-6.2 with address sanitizer. The compile commands are:
$cd ./ncurses-6.2
$mkdir asan-ins
$cd asan-ins
$AFL_USE_ASAN=1 CC=afl-gcc CXX=afl-g++ CFLAGS="-g3" CXXFLAGS="-g3" ../configure --prefix=`pwd`/bin --disable-stripping
$AFL_USE_ASAN=1 make
$AFL_USE_ASAN=1 sudo make install
Then it reports memory leaks as:

** Building terminfo database, please wait...

Running tic to install /home/ubuntu/yuetai/test_programs/ncurses-6.2/asan-ins/bin/share/terminfo ...


You may see messages regarding extended capabilities, e.g., AX.

These are extended terminal capabilities which are compiled

using

tic -x

If you have ncurses 4.2 applications, you should read the INSTALL

document, and install the terminfo without the -x option.


"terminfo.tmp", line 1115, col 36, terminal 'fbterm': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 4800, col 36, terminal 'xterm+256color': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 4819, col 36, terminal 'xterm+256setaf': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 4863, col 25, terminal 'xterm+direct2': limiting value of `colors' from 0x1000000 to 0x7fff

"terminfo.tmp", line 4863, col 40, terminal 'xterm+direct2': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 4878, col 25, terminal 'xterm+direct': limiting value of `colors' from 0x1000000 to 0x7fff

"terminfo.tmp", line 4878, col 40, terminal 'xterm+direct': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 4900, col 25, terminal 'xterm+indirect': limiting value of `colors' from 0x1000000 to 0x7fff

"terminfo.tmp", line 4900, col 40, terminal 'xterm+indirect': limiting value of `pairs' from 0x10000 to 0x7fff

"terminfo.tmp", line 7641, col 36, terminal 'dvtm-256color': limiting value of `pairs' from 0x10000 to 0x7fff

1750 entries written to /home/ubuntu/yuetai/test_programs/ncurses-6.2/asan-ins/bin/share/terminfo


=================================================================

==30044==ERROR: LeakSanitizer: detected memory leaks


Direct leak of 1573200 byte(s) in 475 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x491de1 in _nc_init_termtype ../../ncurses/tinfo/read_entry.c:219


Direct leak of 72625 byte(s) in 42 object(s) allocated from:

    #0 0x7facf26ba961 in realloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98961)

    #1 0x4544e9 in _nc_doalloc ../../ncurses/tinfo/doalloc.c:51

    #2 0x62100001a4ff  (<unknown module>)


Direct leak of 38688 byte(s) in 496 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x491dc1 in _nc_init_termtype ../../ncurses/tinfo/read_entry.c:217


Direct leak of 21604 byte(s) in 491 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x491d5d in _nc_init_termtype ../../ncurses/tinfo/read_entry.c:215


Direct leak of 74 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x7facf22e3489 in __strdup (/lib/x86_64-linux-gnu/libc.so.6+0x8b489)

    #2 0x6575792f75746e74  (<unknown module>)


Direct leak of 72 byte(s) in 9 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4c812a in _nc_extend_names ../../ncurses/tinfo/parse_entry.c:169

    #2 0x4c812a in _nc_parse_entry ../../ncurses/tinfo/parse_entry.c:424

    #3 0x62100001a4ff  (<unknown module>)


Indirect leak of 152 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61400000f63f  (<unknown module>)


Indirect leak of 118 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61200000a6bf  (<unknown module>)


Indirect leak of 118 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61300000d07f  (<unknown module>)


Indirect leak of 118 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61300000d23f  (<unknown module>)


Indirect leak of 118 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61200000a53f  (<unknown module>)


Indirect leak of 98 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x616000028b7f  (<unknown module>)


Indirect leak of 71 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x616000017d7f  (<unknown module>)


Indirect leak of 16 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60b00000ac1f  (<unknown module>)


Indirect leak of 15 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60c00000a5ff  (<unknown module>)


Indirect leak of 15 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61800000c47f  (<unknown module>)


Indirect leak of 10 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60700000c8ef  (<unknown module>)


Indirect leak of 6 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60c00000a53f  (<unknown module>)


Indirect leak of 6 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60b00000890f  (<unknown module>)


Indirect leak of 6 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60d00000ba4f  (<unknown module>)


Indirect leak of 6 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60f00000dc8f  (<unknown module>)


Indirect leak of 6 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60b00000885f  (<unknown module>)


Indirect leak of 4 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61100000797f  (<unknown module>)


Indirect leak of 4 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x611000007bff  (<unknown module>)


Indirect leak of 4 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x611000007abf  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60600000d9ff  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60800000a59f  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x6070000163cf  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60800000be9f  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x60700001658f  (<unknown module>)


Indirect leak of 3 byte(s) in 1 object(s) allocated from:

    #0 0x7facf26ba602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)

    #1 0x4fd57b in _nc_wrap_entry ../../ncurses/tinfo/alloc_entry.c:204

    #2 0x61900017117f  (<unknown module>)


SUMMARY: AddressSanitizer: 1707172 byte(s) leaked in 1539 allocation(s).

? tic could not build /home/ubuntu/yuetai/test_programs/ncurses-6.2/asan-ins/bin/share/terminfo

Makefile:93: recipe for target 'install.data' failed

make[1]: *** [install.data] Error 1

make[1]: Leaving directory '/home/ubuntu/yuetai/test_programs/ncurses-6.2/asan-ins/misc'

Makefile:118: recipe for target 'install' failed

make: *** [install] Error 2


reply via email to

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