URL: <https://savannah.gnu.org/patch/?10538>
Summary: fix find memory leak
Group: findutils
Submitter: yixiangzhike
Submitted: Fri 29 Aug 2025 09:08:46 AM GMT
Category: None
Priority: 5 - Normal
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: None
Fixed Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Fri 29 Aug 2025 09:08:46 AM GMT By: yixiangzhike <yixiangzhike>
Asan detected a memory leak in the find command. The issue lies in the fact
that we only called free_cwdh to release wd_for_exec but did not release it
itself. see
in impl_pred_exec function:
if (local) {
free_cwd (execp->wd_for_exec);
}
asan output:
[root@localhost tmp]# find ./ -type f -perm 644 -execdir ls -l {} \;
-rw-r--r--. 1 root root 94069 Aug 29 11:21 ./test
-rw-r--r--. 1 root root 94069 Aug 29 11:14 ./Makefile
=================================================================
==833027==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0xffffb2702524 in malloc (/usr/lib64/libasan.so.8+0xb2524)
#1 0xaaaaaafdb658 in xmalloc
/root/rpmbuild/BUILD/findutils-4.9.0/gl/lib/xmalloc.c:44
#2 0xaaaaaaf67270 in initialize_wd_for_exec
/root/rpmbuild/BUILD/findutils-4.9.0/find/exec.c:53
#3 0xaaaaaaf67270 in record_exec_dir
/root/rpmbuild/BUILD/findutils-4.9.0/find/exec.c:91
#4 0xaaaaaaf67270 in impl_pred_exec
/root/rpmbuild/BUILD/findutils-4.9.0/find/exec.c:120
#5 0xaaaaaaf71d7c in apply_predicate
/root/rpmbuild/BUILD/findutils-4.9.0/find/util.c:1081
#6 0xaaaaaaf71d7c in apply_predicate
/root/rpmbuild/BUILD/findutils-4.9.0/find/util.c:1081
#7 0xaaaaaaf5f50c in visit
/root/rpmbuild/BUILD/findutils-4.9.0/find/ftsfind.c:184
#8 0xaaaaaaf5f50c in consider_visiting
/root/rpmbuild/BUILD/findutils-4.9.0/find/ftsfind.c:469
#9 0xaaaaaaf60d90 in find
/root/rpmbuild/BUILD/findutils-4.9.0/find/ftsfind.c:545
#10 0xaaaaaaf613cc in process_all_startpoints
/root/rpmbuild/BUILD/findutils-4.9.0/find/ftsfind.c:717
#11 0xaaaaaaf5dad4 in main
/root/rpmbuild/BUILD/findutils-4.9.0/find/ftsfind.c:824
#12 0xffffb2027740 (/usr/lib64/libc.so.6+0x27740)
#13 0xffffb2027824 in __libc_start_main (/usr/lib64/libc.so.6+0x27824)
#14 0xaaaaaaf5eaec in _start (/root/find+0x1eaec)
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/patch/?10538>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
