wgtpkg-zip: fix bug when file's size is zero
authorJosé Bollo <jose.bollo@iot.bzh>
Thu, 11 Feb 2016 15:15:41 +0000 (16:15 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Thu, 11 Feb 2016 15:15:41 +0000 (16:15 +0100)
Change-Id: I0119f5855d5b09ff15e087289b13681ab7300110
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/wgtpkg-zip.c

index 8fe17c4..f7813c4 100644 (file)
@@ -177,7 +177,9 @@ int zread(const char *zipfile, unsigned long long maxsize)
                assert(fdesc != NULL);
                err = zip_stat_index(zip, fdesc->zindex, ZIP_FL_ENC_GUESS, &zstat);
                assert(zstat.name[0] != '/');
-               if (zstat.size == 0) {
+               len = strlen(zstat.name);
+               assert(len > 0);
+               if (zstat.name[len - 1] == '/') {
                        /* directory name */
                        err = create_directory((char*)zstat.name, MODE_OF_DIRECTORY_CREATION);
                        if (err && errno != EEXIST)