<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch release-2.10
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/27c0051120258bdc6f864ba51a3014d2719c8730">https://github.com/macports/macports-base/commit/27c0051120258bdc6f864ba51a3014d2719c8730</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 27c0051120258bdc6f864ba51a3014d2719c8730
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Mon Nov 18 20:22:34 2024 +0100

<span style='display:block; white-space:pre;color:#404040;'>    darwintrace: Don't fail on unreadable symlinks
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Don't call abort() just because we can't read a symlink. Instead, ignore
</span><span style='display:block; white-space:pre;color:#404040;'>    the error and let it bubble up to the build that attempted the read.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    (cherry picked from commit e3eed165ccca2693dae7b2e7ecd1698e382ea972)
</span>---
 src/darwintracelib1.0/darwintrace.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/darwintracelib1.0/darwintrace.c b/src/darwintracelib1.0/darwintrace.c
</span><span style='display:block; white-space:pre;color:#808080;'>index af9d19a75..bcb9c97fd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/darwintracelib1.0/darwintrace.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/darwintracelib1.0/darwintrace.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1162,9 +1162,18 @@ bool __darwintrace_is_in_sandbox(const char *path, int flags) {
</span>                   while (true) {
                                ssize_t linksize;
                                if (-1 == (linksize = readlink(path_native, link, maxLinkLength - 1))) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                        free(path_native);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                   perror("darwintrace: readlink");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                   abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   /* If we can't read the link, don't error out, but jsut continue as if the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    * wasn't a link. The build will later on have to deal with the same error and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    * will likely either gracefully handle it, or return a useful error message. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   free(link);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   link = strdup(path_native);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   if (!link) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           perror("darwintrace: strdup");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           abort();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   pathIsSymlink = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   break;
</span>                           }
                                link[linksize] = '\0';
                                if ((size_t) linksize < maxLinkLength - 1) {
</pre><pre style='margin:0'>

</pre>