We also need to confirm that this is fixed in Artful. Given it is fixed
in Debian stable it probably is, but confirming that it is fixed in the
latest development release will be required for the SRU.
** Changed in: libnl3 (Ubuntu Trusty)
Status: New => Triaged
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libnl3 in Ubuntu.
https://bugs.launchpad.net/bugs/1690836
Title:
libnl-genl-3.0 memory leak
Status in libnl3 package in Ubuntu:
Confirmed
Status in libnl3 source package in Trusty:
Triaged
Bug description:
It seems that there is a memory leak in the libnl-genl-3.0 library.
The memory-leak can be seen when the function genl_ctrl_resolve() fails.
It seems that this function copy a buffer and forget to deallocate it
properly:
258 cb = nl_cb_clone(orig); // buffer copied not freed
-----------------------------------------------------------------------------
The following attached source-code can help you to reproduce this behavior on
Ubuntu 14.04.
It forces an issue on the genl_ctrl_resolve by asking an unknown
netlink-family.
To compile program:
g++ -std=c++11 main.cpp $(pkg-config --cflags --libs libnl-3.0
libnl-genl-3.0) -o main
To detect memory-leak using Valgrind:
valgrind --leak-check=full ./main
-----------------------------------------------------------------------------
Executing it on Debian 8.0 shows "no memory leak":
sylvain@debian:~/test$ lsb_release -rd
Description: Debian GNU/Linux 8.8 (jessie)
Release: 8.8
sylvain@debian:~/test$ g++ -std=c++11 main.cpp $(pkg-config --cflags --libs
libnl-3.0 libnl-genl-3.0) -o main
sylvain@debian:~/test$ valgrind --leak-check=full ./main
==26390== Memcheck, a memory error detector
==26390== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==26390== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==26390== Command: ./main
==26390==
start test
error: can't retrieve the netlink-family id
end test
==26390==
==26390== HEAP SUMMARY:
==26390== in use at exit: 0 bytes in 0 blocks
==26390== total heap usage: 13 allocs, 13 frees, 22,142 bytes allocated
==26390==
==26390== All heap blocks were freed -- no leaks are possible
==26390==
==26390== For counts of detected and suppressed errors, rerun with: -v
==26390== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-----------------------------------------------------------------------------
Executing it on Ubuntu 14.04 shows a memory leak:
ubuntu@ubuntu:~$ lsb_release -rd
Description: Ubuntu 14.04.5 LTS
Release: 14.04
ubuntu@ubuntu:~$ g++ -std=c++11 main.cpp $(pkg-config --cflags --libs
libnl-3.0 libnl-genl-3.0) -o main
ubuntu@ubuntu:~$ valgrind --leak-check=full ./main
==37377== Memcheck, a memory error detector
==37377== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==37377== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==37377== Command: ./main
==37377==
start test
error: can't retrieve the netlink-family id
end test
==37377==
==37377== HEAP SUMMARY:
==37377== in use at exit: 224 bytes in 1 blocks
==37377== total heap usage: 13 allocs, 12 frees, 22,142 bytes allocated
==37377==
==37377== 224 bytes in 1 blocks are definitely lost in loss record 1 of 1
==37377== at 0x4C2CC70: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==37377== by 0x5048FAA: nl_cb_alloc (in
/lib/x86_64-linux-gnu/libnl-3.so.200.16.1)
==37377== by 0x504CB1E: nl_socket_alloc (in
/lib/x86_64-linux-gnu/libnl-3.so.200.16.1)
==37377== by 0x4012E3: A::Init() (in /home/ubuntu/main)
==37377== by 0x401189: main (in /home/ubuntu/main)
==37377==
==37377== LEAK SUMMARY:
==37377== definitely lost: 224 bytes in 1 blocks
==37377== indirectly lost: 0 bytes in 0 blocks
==37377== possibly lost: 0 bytes in 0 blocks
==37377== still reachable: 0 bytes in 0 blocks
==37377== suppressed: 0 bytes in 0 blocks
==37377==
==37377== For counts of detected and suppressed errors, rerun with: -v
==37377== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Thanks,
Sylvain Trinquet
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1690836/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp