mz-automation / libiec61850

Official repository for libIEC61850, the open-source library for the IEC 61850 protocols
http://libiec61850.com/libiec61850
GNU General Public License v3.0
857 stars 459 forks source link

Memory leaks in iec61850_sv_client_example, affected version v1.3.1 #109

Closed arunm2110 closed 5 years ago

arunm2110 commented 5 years ago

Hi Team, Memory leaks in iec61850_sv_client_example

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

SVCB is multicast Failed to enable SVCB SvEna state: 0 ConfRev: 0 SmpRate: 0 SmpMod: 0 OptFlds: noASDU: 0 addr: 000000000000 prio: 0 vid: 0 appID: 0

================================================================= ==29844==ERROR: LeakSanitizer: detected memory leaks

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

0 0x7fd6d8e5e79a in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x9879a)

#1 0x520c15 in Memory_calloc /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/hal/memory/lib_memory.c:59
#2 0x417141 in ClientSVControlBlock_create /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/src/iec61850/client/client_sv_control.c:61
#3 0x416c68 in main /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/examples/iec61850_sv_client_example/sv_client_example.c:51
#4 0x7fd6d87ff82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x520bdc in Memory_malloc /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/hal/memory/lib_memory.c:47
#2 0x45671b in StringUtils_copyString /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/src/common/string_utilities.c:45
#3 0x41719a in ClientSVControlBlock_create /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/src/iec61850/client/client_sv_control.c:65
#4 0x416c68 in main /home/rootkill3r/fuzzing/61850/libiec61850-1.3.1/examples/iec61850_sv_client_example/sv_client_example.c:51
#5 0x7fd6d87ff82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 60 byte(s) leaked in 2 allocation(s).

mzillgith commented 5 years ago

Hi. Thanks. I can confirm the memory leak. Should be fixed in latest v1.4 branch.