There is a regression in tar 1.33 on OpenBSD. Thanks to Stefan Hagen for figuring out the details.
89: extracting even when . and .. are unreadable FAILED (extrac09.at:37) The key part of the test: mkdir dir mkdir dir/sub mkdir dir/sub/extract genfile --file dir/sub/f cd dir/sub tar -cf archive.tar f chmod a-r . .. tar -xvf archive.tar -C extract f And the failure of the "tar -xvf ..." command: tar: .: Cannot getcwd: Permission denied tar: Error is not recoverable: exiting now The regression has been introduced with commit 66162927ebdf, "Check return value from xgetcwd". Specifically, this chunk: -------------------> @@ -922,6 +920,8 @@ chdir_arg (char const *dir) { wd[wd_count].name = "."; wd[wd_count].abspath = xgetcwd (); + if (!wd[wd_count].abspath) + call_arg_fatal ("getcwd", "."); wd[wd_count].fd = AT_FDCWD; wd_count++; } <------------------- A trace shows that the native system call returns EACCES, which conforms with POSIX. 13845 tar CALL __getcwd(0x3fd723c000,1024) 13845 tar RET __getcwd -1 errno 13 Permission denied -- Christian "naddy" Weisgerber na...@mips.inka.de