summaryrefslogtreecommitdiff
path: root/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-14 15:21:15 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-14 15:21:15 +0100
commit1c382dc5dbc52576ac2300fee0498af8af44e7b4 (patch)
tree45d2492f5c659cbb01120d4192c9be34841362bd /sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
parentb9e8f3cc44aed3b6da71c7510c6287bf7bbbc66b (diff)
Revert "gentoo auto-resync : 14:06:2023 - 15:13:45"
This reverts commit b9e8f3cc44aed3b6da71c7510c6287bf7bbbc66b.
Diffstat (limited to 'sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch')
-rw-r--r--sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch b/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
new file mode 100644
index 000000000000..7b320fa9dbab
--- /dev/null
+++ b/sys-cluster/charliecloud/files/charliecloud-0.31-realpath_return.patch
@@ -0,0 +1,32 @@
+From e6d25474fcd326ae657c08d7b49606aeabc98b51 Mon Sep 17 00:00:00 2001
+From: Oliver Freyermuth <o.freyermuth@googlemail.com>
+Date: Sat, 28 Jan 2023 21:25:09 +0100
+Subject: [PATCH] ch-misc: Do not check errno in realpath_ unless realpath
+ returns NULL
+Bug: https://github.com/hpc/charliecloud/pull/1550
+
+glibc's realpath may set errno also on success, as POSIX specifies
+errno should only be checked after realpath if the return value is not NULL.
+
+See for example:
+ https://bugzilla.redhat.com/show_bug.cgi?id=1916968
+---
+ bin/ch_misc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/ch_misc.c b/bin/ch_misc.c
+index 04ac52a..93a3339 100644
+--- a/bin/ch_misc.c
++++ b/bin/ch_misc.c
+@@ -589,7 +589,7 @@ char *realpath_(const char *path, bool fail_ok)
+ errno = 0;
+ pathc = realpath(path, NULL);
+
+- if (errno != 0) {
++ if (pathc == NULL && errno != 0) {
+ if (fail_ok) {
+ T_ (pathc = strdup(path));
+ } else {
+--
+2.39.1
+