0vercl0k / rp

rp++ is a fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM/ARM64 binaries.
MIT License
1.75k stars 250 forks source link

Memory Leak detected #23

Closed fCorleone closed 5 years ago

fCorleone commented 6 years ago

There is a memory leak found when use address sanitizer.

==29830==ERROR: LeakSanitizer: detected memory leaks

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

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

#1 0x4cdc75 in arg_end (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cdc75)
#2 0x48f605 in main /home/mfc_fuzz/rp/src/main.cpp:44
#3 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4ce2f5 in arg_filen (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ce2f5)
#2 0x4ce24f in arg_file0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ce24f)
#3 0x48f4e8 in main /home/mfc_fuzz/rp/src/main.cpp:34
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cf15d in arg_strn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)
#2 0x4cf0c4 in arg_str0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)
#3 0x48f59e in main /home/mfc_fuzz/rp/src/main.cpp:40
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cf15d in arg_strn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)
#2 0x4cf0c4 in arg_str0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)
#3 0x48f5be in main /home/mfc_fuzz/rp/src/main.cpp:41
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cf15d in arg_strn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)
#2 0x4cf0c4 in arg_str0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)
#3 0x48f548 in main /home/mfc_fuzz/rp/src/main.cpp:37
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4ceb33 in arg_intn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ceb33)
#2 0x4cea9a in arg_int0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cea9a)
#3 0x48f508 in main /home/mfc_fuzz/rp/src/main.cpp:35
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4ceb33 in arg_intn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ceb33)
#2 0x4cea9a in arg_int0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cea9a)
#3 0x48f528 in main /home/mfc_fuzz/rp/src/main.cpp:36
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cee17 in arg_litn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)
#2 0x4ced9f in arg_lit0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)
#3 0x48f57e in main /home/mfc_fuzz/rp/src/main.cpp:39
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cee17 in arg_litn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)
#2 0x4ced9f in arg_lit0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)
#3 0x48f563 in main /home/mfc_fuzz/rp/src/main.cpp:38
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cee17 in arg_litn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)
#2 0x4ced9f in arg_lit0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)
#3 0x48f5d9 in main /home/mfc_fuzz/rp/src/main.cpp:42
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

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

#1 0x4cee17 in arg_litn (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)
#2 0x4ced9f in arg_lit0 (/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)
#3 0x48f5f4 in main /home/mfc_fuzz/rp/src/main.cpp:43
#4 0x7f6b17a4982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 1688 byte(s) leaked in 11 allocation(s).

0vercl0k commented 6 years ago

It has been fixed in the next branch for...a while now:

https://github.com/0vercl0k/rp/commit/e9d553ea887b885fe926622367691158a2e7a247

Cheers

Le dim. 8 juil. 2018 à 21:42, fCorleone notifications@github.com a écrit :

There is a memory leak found when use address sanitizer.

==29830==ERROR: LeakSanitizer: detected memory leaks

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cdc75 in arg_end

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cdc75)

2 https://github.com/0vercl0k/rp/pull/2 0x48f605 in main

/home/mfc_fuzz/rp/src/main.cpp:44

3 https://github.com/0vercl0k/rp/pull/3 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4ce2f5 in arg_filen

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ce2f5)

2 https://github.com/0vercl0k/rp/pull/2 0x4ce24f in arg_file0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ce24f)

3 https://github.com/0vercl0k/rp/pull/3 0x48f4e8 in main

/home/mfc_fuzz/rp/src/main.cpp:34

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cf15d in arg_strn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)

2 https://github.com/0vercl0k/rp/pull/2 0x4cf0c4 in arg_str0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)

3 https://github.com/0vercl0k/rp/pull/3 0x48f59e in main

/home/mfc_fuzz/rp/src/main.cpp:40

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cf15d in arg_strn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)

2 https://github.com/0vercl0k/rp/pull/2 0x4cf0c4 in arg_str0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)

3 https://github.com/0vercl0k/rp/pull/3 0x48f5be in main

/home/mfc_fuzz/rp/src/main.cpp:41

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cf15d in arg_strn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf15d)

2 https://github.com/0vercl0k/rp/pull/2 0x4cf0c4 in arg_str0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cf0c4)

3 https://github.com/0vercl0k/rp/pull/3 0x48f548 in main

/home/mfc_fuzz/rp/src/main.cpp:37

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4ceb33 in arg_intn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ceb33)

2 https://github.com/0vercl0k/rp/pull/2 0x4cea9a in arg_int0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cea9a)

3 https://github.com/0vercl0k/rp/pull/3 0x48f508 in main

/home/mfc_fuzz/rp/src/main.cpp:35

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4ceb33 in arg_intn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ceb33)

2 https://github.com/0vercl0k/rp/pull/2 0x4cea9a in arg_int0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cea9a)

3 https://github.com/0vercl0k/rp/pull/3 0x48f528 in main

/home/mfc_fuzz/rp/src/main.cpp:36

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cee17 in arg_litn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)

2 https://github.com/0vercl0k/rp/pull/2 0x4ced9f in arg_lit0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)

3 https://github.com/0vercl0k/rp/pull/3 0x48f57e in main

/home/mfc_fuzz/rp/src/main.cpp:39

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cee17 in arg_litn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)

2 https://github.com/0vercl0k/rp/pull/2 0x4ced9f in arg_lit0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)

3 https://github.com/0vercl0k/rp/pull/3 0x48f563 in main

/home/mfc_fuzz/rp/src/main.cpp:38

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cee17 in arg_litn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)

2 https://github.com/0vercl0k/rp/pull/2 0x4ced9f in arg_lit0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)

3 https://github.com/0vercl0k/rp/pull/3 0x48f5d9 in main

/home/mfc_fuzz/rp/src/main.cpp:42

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

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

0 0x7f6b18423602 in malloc

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

1 https://github.com/0vercl0k/rp/issues/1 0x4cee17 in arg_litn

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4cee17)

2 https://github.com/0vercl0k/rp/pull/2 0x4ced9f in arg_lit0

(/home/mfc_fuzz/rp/bin/rp-lin-x64+0x4ced9f)

3 https://github.com/0vercl0k/rp/pull/3 0x48f5f4 in main

/home/mfc_fuzz/rp/src/main.cpp:43

4 https://github.com/0vercl0k/rp/pull/4 0x7f6b17a4982f in

__libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 1688 byte(s) leaked in 11 allocation(s).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/0vercl0k/rp/issues/23, or mute the thread https://github.com/notifications/unsubscribe-auth/ABaHRW5nlACQsAyVDsnJOoydswCHmXm1ks5uEt8XgaJpZM4VHElt .