summaryrefslogtreecommitdiff
path: root/libarchive/test/test_read_disk_directory_traversals.c
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2021-05-12 16:37:16 -0400
committerOwen W. Taylor <otaylor@fishsoup.net>2021-05-12 16:44:11 -0400
commit9a952fe5a25a4fa7d1d7cc1e0c37f08036b29f06 (patch)
tree289b99befbde70596780f17622e21abc06ba51de /libarchive/test/test_read_disk_directory_traversals.c
parent942cd1a5e1ce4e1450cecafa2674f71aea0263a4 (diff)
downloadlibarchive-9a952fe5a25a4fa7d1d7cc1e0c37f08036b29f06.tar.gz
Avoid getcwd(0, PATH_MAX) for GNU libc
Recent versions of GNU libc and GCC produce a warning on getcwd(0, PATH_MAX): test_main.c: In function ‘get_refdir’: test_main.c:3684:8: error: argument 1 is null but the corresponding size argument 2 value is 4096 [-Werror=nonnull] 3684 | pwd = getcwd(NULL, PATH_MAX);/* Solaris getcwd needs the size. */ This is because getcwd() is marked with the 'write_only (1, 2)' attribute. Using the alternate getcwd(NULL, 0) path which is supported by GNU libc avoids this.
Diffstat (limited to 'libarchive/test/test_read_disk_directory_traversals.c')
-rw-r--r--libarchive/test/test_read_disk_directory_traversals.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libarchive/test/test_read_disk_directory_traversals.c b/libarchive/test/test_read_disk_directory_traversals.c
index 9efa7428..d24d1436 100644
--- a/libarchive/test/test_read_disk_directory_traversals.c
+++ b/libarchive/test/test_read_disk_directory_traversals.c
@@ -528,7 +528,7 @@ test_basic(void)
*/
/* Save current working directory. */
-#ifdef PATH_MAX
+#if defined(PATH_MAX) && !defined(__GLIBC__)
initial_cwd = getcwd(NULL, PATH_MAX);/* Solaris getcwd needs the size. */
#else
initial_cwd = getcwd(NULL, 0);
@@ -560,7 +560,7 @@ test_basic(void)
failure(
"Current working directory does not return to the initial"
"directory");
-#ifdef PATH_MAX
+#if defined(PATH_MAX) && !defined(__GLIBC__)
cwd = getcwd(NULL, PATH_MAX);/* Solaris getcwd needs the size. */
#else
cwd = getcwd(NULL, 0);