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/

Attachment: signature.asc
Description: PGP signature

Reply via email to