Blame unzip-5.52-toctou.patch
|
Ivana Varekova |
6d0bb8c |
--- unzip-5.52/unix/unix.c.toctou 2005-12-20 13:28:52.000000000 +0100
|
|
Ivana Varekova |
6d0bb8c |
+++ unzip-5.52/unix/unix.c 2005-12-20 13:52:02.773125776 +0100
|
|
Ivana Varekova |
6d0bb8c |
@@ -1043,6 +1043,17 @@
|
|
Ivana Varekova |
6d0bb8c |
int have_uidgid_flg;
|
|
Ivana Varekova |
6d0bb8c |
|
|
Ivana Varekova |
6d0bb8c |
fchmod(fileno(G.outfile), 0400);
|
|
Ivana Varekova |
6d0bb8c |
+
|
|
Ivana Varekova |
6d0bb8c |
+/*---------------------------------------------------------------------------
|
|
Ivana Varekova |
6d0bb8c |
+ Change the file permissions from default ones to those stored in the
|
|
Ivana Varekova |
6d0bb8c |
+ zipfile. It is necessary to change permissions before fclose command.
|
|
Ivana Varekova |
6d0bb8c |
+ ---------------------------------------------------------------------------*/
|
|
Ivana Varekova |
6d0bb8c |
+
|
|
Ivana Varekova |
6d0bb8c |
+#ifndef NO_CHMOD
|
|
Ivana Varekova |
6d0bb8c |
+ if (fchmod(fileno(G.outfile), 0xffff & G.pInfo->file_attr))
|
|
Ivana Varekova |
6d0bb8c |
+ perror("chmod (file attributes) error");
|
|
Ivana Varekova |
6d0bb8c |
+#endif
|
|
Ivana Varekova |
6d0bb8c |
+
|
|
Ivana Varekova |
6d0bb8c |
fclose(G.outfile);
|
|
Ivana Varekova |
6d0bb8c |
|
|
Ivana Varekova |
6d0bb8c |
/*---------------------------------------------------------------------------
|
|
Ivana Varekova |
6d0bb8c |
@@ -1155,16 +1166,6 @@
|
|
Ivana Varekova |
6d0bb8c |
#endif /* ?AOS_VS */
|
|
Ivana Varekova |
6d0bb8c |
}
|
|
Ivana Varekova |
6d0bb8c |
|
|
Ivana Varekova |
6d0bb8c |
-/*---------------------------------------------------------------------------
|
|
Ivana Varekova |
6d0bb8c |
- Change the file permissions from default ones to those stored in the
|
|
Ivana Varekova |
6d0bb8c |
- zipfile.
|
|
Ivana Varekova |
6d0bb8c |
- ---------------------------------------------------------------------------*/
|
|
Ivana Varekova |
6d0bb8c |
-
|
|
Ivana Varekova |
6d0bb8c |
-#ifndef NO_CHMOD
|
|
Ivana Varekova |
6d0bb8c |
- if (chmod(G.filename, filtattr(__G__ G.pInfo->file_attr)))
|
|
Ivana Varekova |
6d0bb8c |
- perror("chmod (file attributes) error");
|
|
Ivana Varekova |
6d0bb8c |
-#endif
|
|
Ivana Varekova |
6d0bb8c |
-
|
|
Ivana Varekova |
6d0bb8c |
} /* end function close_outfile() */
|
|
Ivana Varekova |
6d0bb8c |
|
|
Ivana Varekova |
6d0bb8c |
#endif /* !MTS */
|