summaryrefslogtreecommitdiff
path: root/usr/src/cmd/cpio
diff options
context:
space:
mode:
authorjs198686 <none@none>2007-05-23 13:18:51 -0700
committerjs198686 <none@none>2007-05-23 13:18:51 -0700
commited69b65213c4951189b6e407c83cf111f35c96e7 (patch)
tree0c02a4feb70be5e3af9f995747a2e5a9c2c900f6 /usr/src/cmd/cpio
parent7106075a406fbb9356893d9b37bc3053be6071c1 (diff)
downloadillumos-joyent-ed69b65213c4951189b6e407c83cf111f35c96e7.tar.gz
6500984 *cpio* issue with directory creation
Diffstat (limited to 'usr/src/cmd/cpio')
-rw-r--r--usr/src/cmd/cpio/cpio.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/usr/src/cmd/cpio/cpio.c b/usr/src/cmd/cpio/cpio.c
index 8dc98c5452..9ca4220141 100644
--- a/usr/src/cmd/cpio/cpio.c
+++ b/usr/src/cmd/cpio/cpio.c
@@ -5300,7 +5300,15 @@ setup(int largc, char **largv)
} else { /* directory must be specified */
if (largc != 1)
Error_cnt++;
- else if (access(*largv, 2) < 0)
+ else if (access(*largv, 2) < 0 && (errno != EACCES))
+ /*
+ * EACCES is ignored here as it may occur
+ * when any directory component of the path
+ * does not have write permission, even though
+ * the destination subdirectory has write
+ * access. Writing to a read only directory
+ * is handled later, as in "copy in" mode.
+ */
msg(ERRN,
"Error during access() of \"%s\"", *largv);
}