From: Jose Bollo Date: Wed, 6 Feb 2019 13:29:11 +0000 (+0100) Subject: wgtpkg-zip: Ensure zip will not complain X-Git-Tag: 7.90.0~3 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-main.git;a=commitdiff_plain;h=48e894bee732315d89eb5b46d2432ed45fc81a43;hp=9f24684ab10cd3e90982721e3bc24611c7e1b348 wgtpkg-zip: Ensure zip will not complain The invoked program ZIP may complain that the target zip file is not valid. It happens either when it is really invalid or when it is empty. Change-Id: I8b123019175fab45c6539c1d5938656afd9c7643 Signed-off-by: Jose Bollo --- diff --git a/src/wgtpkg-zip.c b/src/wgtpkg-zip.c index ec214b1..3273426 100644 --- a/src/wgtpkg-zip.c +++ b/src/wgtpkg-zip.c @@ -58,7 +58,7 @@ static int is_valid_filename(const char *filename) if ((c < 0x1f) || ((lastsp = (c == 0x20)) && index == 0) || c == 0x7f || c == 0x3c || c == 0x3e - || c == 0x3a || c == 0x22 + || c == 0x3a || c == 0x22 || c == 0x5c || c == 0x7c || c == 0x3f || c == 0x2a || c == 0x5e || c == 0x60 || c == 0x7b || c == 0x7d || c == 0x21) @@ -263,7 +263,7 @@ static int zwr(struct zws *zws, size_t offset) ent = readdir(dir); while (ent != NULL) { len = strlen(ent->d_name); - if (ent->d_name[0] == '.' && (len == 1 || + if (ent->d_name[0] == '.' && (len == 1 || (ent->d_name[1] == '.' && len == 2))) ; else if (offset + len >= sizeof(zws->name)) { @@ -447,6 +447,7 @@ int zwrite(const char *zipfile) { const char *args[6]; + unlink(zipfile); args[0] = "zip"; args[1] = "-q"; args[2] = "-r";