summaryrefslogtreecommitdiff
path: root/posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch
diff options
context:
space:
mode:
Diffstat (limited to 'posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch')
-rw-r--r--posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch b/posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch
new file mode 100644
index 0000000..a9e8d26
--- /dev/null
+++ b/posix-Fix-attribute-access-mode-on-getcwd-BZ-27476.patch
@@ -0,0 +1,50 @@
+From 433ec4f14a5753c7689c83c20c9972915c53c204 Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Fri, 10 Sep 2021 19:39:35 +0200
+Subject: [PATCH] posix: Fix attribute access mode on getcwd [BZ #27476]
+
+There is a GNU extension that allows to call getcwd(NULL, >0). It is
+described in the documentation, but also directly in the unistd.h
+header, just above the declaration.
+
+Therefore the attribute access mode added in commit 06febd8c6705
+is not correct. Drop it.
+---
+ posix/bits/unistd.h | 5 ++---
+ posix/unistd.h | 3 +--
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/posix/bits/unistd.h b/posix/bits/unistd.h
+index f083138..622adeb 100644
+--- a/posix/bits/unistd.h
++++ b/posix/bits/unistd.h
+@@ -199,10 +199,9 @@ __NTH (readlinkat (int __fd, const char *__restrict __path,
+ #endif
+
+ extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
+- __THROW __wur __attr_access ((__write_only__, 1, 2));
++ __THROW __wur;
+ extern char *__REDIRECT_NTH (__getcwd_alias,
+- (char *__buf, size_t __size), getcwd)
+- __wur __attr_access ((__write_only__, 1, 2));
++ (char *__buf, size_t __size), getcwd) __wur;
+ extern char *__REDIRECT_NTH (__getcwd_chk_warn,
+ (char *__buf, size_t __size, size_t __buflen),
+ __getcwd_chk)
+diff --git a/posix/unistd.h b/posix/unistd.h
+index 3dca657..8224c5f 100644
+--- a/posix/unistd.h
++++ b/posix/unistd.h
+@@ -528,8 +528,7 @@ extern int fchdir (int __fd) __THROW __wur;
+ an array is allocated with `malloc'; the array is SIZE
+ bytes long, unless SIZE == 0, in which case it is as
+ big as necessary. */
+-extern char *getcwd (char *__buf, size_t __size) __THROW __wur
+- __attr_access ((__write_only__, 1, 2));
++extern char *getcwd (char *__buf, size_t __size) __THROW __wur;
+
+ #ifdef __USE_GNU
+ /* Return a malloc'd string containing the current directory name.
+--
+1.8.3.1
+