Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jan 2024 17:29:04 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 276632] LLVM std::filesystem::remove_all fails to handle dangling symlinks
Message-ID:  <bug-276632-29464-6ikWG7xarn@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-276632-29464@https.bugs.freebsd.org/bugzilla/>
References:  <bug-276632-29464@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D276632

--- Comment #3 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3Dee14a9725d73150e89367550206803fe3=
6ae3089

commit ee14a9725d73150e89367550206803fe36ae3089
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-01-29 17:26:48 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-01-29 17:26:48 +0000

    Merge commit 4a39d0890894 from llvm-project (by Mark Johnston):

      [libc++] Fix filesystem::remove_all() on FreeBSD (#79540)

      remove_all_impl() opens the target path with O_NOFOLLOW, which fails =
if
      the target is a symbolic link. On FreeBSD, rather than returning ELOO=
P,
      openat() returns EMLINK. This is unlikely to change for compatibility
      reasons, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D2146=
33 .

      Thus, check for EMLINK as well.

    Reported by:    markj
    PR:             276632
    MFC after:      3 days

 contrib/llvm-project/libcxx/src/filesystem/operations.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-276632-29464-6ikWG7xarn>