aboutsummaryrefslogtreecommitdiff
path: root/archival/unzip.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-09-03 14:23:29 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-09-03 14:23:29 +0000
commit22dca23d52c836e40c79cb4042b867fdc06f6ca3 (patch)
treea9f7e6c318e749875288358c963d53c25fab681a /archival/unzip.c
parent314908da9e156e3100275598dde6848da038d65d (diff)
downloadbusybox-22dca23d52c836e40c79cb4042b867fdc06f6ca3.tar.gz
archival: added O_TRUNC so that when we overwrite files on unpack,
we truncate them. Also spotted & fixed hard to trigger bug with extension handling.
Diffstat (limited to 'archival/unzip.c')
-rw-r--r--archival/unzip.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/archival/unzip.c b/archival/unzip.c
index 6dd1d3597..709ebf81a 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -333,7 +333,7 @@ int unzip_main(int argc, char **argv)
overwrite = o_always;
case 'y': /* Open file and fall into unzip */
unzip_create_leading_dirs(dst_fn);
- dst_fd = xopen3(dst_fn, O_WRONLY | O_CREAT, 0777);
+ dst_fd = xopen3(dst_fn, O_WRONLY | O_CREAT | O_TRUNC, 0777);
case -1: /* Unzip */
if (verbosity == v_normal) {
printf(" inflating: %s\n", dst_fn);