summaryrefslogtreecommitdiff
path: root/ext/zip/lib
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-03-18 11:28:21 +0100
committerOndřej Surý <ondrej@sury.org>2011-03-18 11:28:21 +0100
commit038ba12e8724d537040e88ec794354b0c063f0a6 (patch)
treea7181b4f4d10e3a154522d4b96fdf42f4597bf2a /ext/zip/lib
parentfd5a0b31640419ca63d1ddeaffd6d3cf2a741814 (diff)
downloadphp-038ba12e8724d537040e88ec794354b0c063f0a6.tar.gz
Imported Upstream version 5.3.6upstream/5.3.6
Diffstat (limited to 'ext/zip/lib')
-rw-r--r--ext/zip/lib/zip_dirent.c4
-rw-r--r--ext/zip/lib/zip_name_locate.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/zip/lib/zip_dirent.c b/ext/zip/lib/zip_dirent.c
index 39fcb6f62..59f8ab0af 100644
--- a/ext/zip/lib/zip_dirent.c
+++ b/ext/zip/lib/zip_dirent.c
@@ -473,10 +473,8 @@ _zip_dirent_write(struct zip_dirent *zde, FILE *fp, int localp,
static time_t
_zip_d2u_time(int dtime, int ddate)
{
- struct tm tm;
+ struct tm tm = {0};
- memset(&tm, sizeof(tm), 0);
-
/* let mktime decide if DST is in effect */
tm.tm_isdst = -1;
diff --git a/ext/zip/lib/zip_name_locate.c b/ext/zip/lib/zip_name_locate.c
index e8b35ff93..96c4f937e 100644
--- a/ext/zip/lib/zip_name_locate.c
+++ b/ext/zip/lib/zip_name_locate.c
@@ -60,6 +60,10 @@ _zip_name_locate(struct zip *za, const char *fname, int flags,
return -1;
}
+ if((flags & ZIP_FL_UNCHANGED) && !za->cdir) {
+ return -1;
+ }
+
cmp = (flags & ZIP_FL_NOCASE) ? strcmpi : strcmp;
n = (flags & ZIP_FL_UNCHANGED) ? za->cdir->nentry : za->nentry;