aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Plauchu <edwin.plauchu.camacho@intel.com>2016-08-29 21:17:13 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-03 09:58:27 +0100
commit30486429ed228e387ee574c6990b361d2ade6a32 (patch)
tree87f90cc1a6d0ab457f61018abf5b377aad8e6a16
parentfa11e90f691e4f4eee8a231abfe179b0f4992da9 (diff)
downloadopenembedded-core-contrib-30486429ed228e387ee574c6990b361d2ade6a32.tar.gz
unzip: fixes strange output
This fixes commit 763a3d424bccf559a8d6add3dc1f2746c82f2933 Output was strange when using unzip to extract zip file. This patch fixed so. [YOCTO #9551] Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/unzip/unzip/fix-security-format.patch198
1 files changed, 78 insertions, 120 deletions
diff --git a/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
index c82f502552..8e9b06c423 100644
--- a/meta/recipes-extended/unzip/unzip/fix-security-format.patch
+++ b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
@@ -9,131 +9,89 @@ Upstream-Status: Pending
Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-diff --git a/unzpriv.h b/unzpriv.h
-index c8d3eab..85e693a 100644
---- a/unzpriv.h
-+++ b/unzpriv.h
-@@ -1006,7 +1006,7 @@
- # define LoadFarStringSmall(x) Qstrfix(x)
- # define LoadFarStringSmall2(x) Qstrfix(x)
- # else
--# define LoadFarString(x) (char *)(x)
-+# define LoadFarString(x) "%s",(char *)(x)
- # define LoadFarStringSmall(x) (char *)(x)
- # define LoadFarStringSmall2(x) (char *)(x)
- # endif
-diff --git a/fileio.c b/fileio.c
-index 36bfea3..ca779c2 100644
---- a/fileio.c
-+++ b/fileio.c
-@@ -588,8 +588,8 @@ unsigned readbuf(__G__ buf, size) /* return number of bytes read into buf */
- else if (G.incnt < 0) {
- /* another hack, but no real harm copying same thing twice */
- (*G.message)((zvoid *)&G,
-- (uch *)LoadFarString(ReadError), /* CANNOT use slide */
-- (ulg)strlen(LoadFarString(ReadError)), 0x401);
-+ (uch *)(char*)(ReadError), /* CANNOT use slide */
-+ (ulg)strlen((char*)(ReadError)), 0x401);
- return 0; /* discarding some data; better than lock-up */
- }
- /* buffer ALWAYS starts on a block boundary: */
-@@ -631,8 +631,8 @@ int readbyte(__G) /* refill inbuf and return a byte if available, else EOF */
- } else if (G.incnt < 0) { /* "fail" (abort, retry, ...) returns this */
- /* another hack, but no real harm copying same thing twice */
- (*G.message)((zvoid *)&G,
-- (uch *)LoadFarString(ReadError),
-- (ulg)strlen(LoadFarString(ReadError)), 0x401);
-+ (uch *)(char*)(ReadError),
-+ (ulg)strlen((char*)(ReadError)), 0x401);
- echon();
- #ifdef WINDLL
- longjmp(dll_error_return, 1);
-@@ -1356,7 +1356,7 @@ int UZ_EXP UzpMessagePrnt(pG, buf, size, flag)
- ++((Uz_Globs *)pG)->lines;
- if (((Uz_Globs *)pG)->lines >= ((Uz_Globs *)pG)->height)
- (*((Uz_Globs *)pG)->mpause)((zvoid *)pG,
-- LoadFarString(MorePrompt), 1);
-+ (char*)(MorePrompt), 1);
- }
- #endif /* MORE */
- if (MSG_STDERR(flag) && ((Uz_Globs *)pG)->UzO.tflag &&
-@@ -1416,7 +1416,7 @@ int UZ_EXP UzpMessagePrnt(pG, buf, size, flag)
- ((Uz_Globs *)pG)->sol = TRUE;
- q = p + 1;
- (*((Uz_Globs *)pG)->mpause)((zvoid *)pG,
-- LoadFarString(MorePrompt), 1);
-+ (char*)(MorePrompt), 1);
+diff --git a/extract.c b/extract.c
+index 7cd9123..25c5a62 100644
+--- a/extract.c
++++ b/extract.c
+@@ -475,7 +475,7 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ Info(slide, 0x401, ((char *)slide,
+ LoadFarString(CentSigMsg), j + blknum*DIR_BLKSIZ + 1));
+ Info(slide, 0x401, ((char *)slide,
+- LoadFarString(ReportMsg)));
++ "%s",LoadFarString(ReportMsg)));
+ error_in_archive = PK_BADERR;
}
+ reached_end = TRUE; /* ...so no more left to do */
+@@ -754,8 +754,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
+
+ #ifndef SFX
+ if (no_endsig_found) { /* just to make sure */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
+- Info(slide, 0x401, ((char *)slide, LoadFarString(ReportMsg)));
++ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(ReportMsg)));
+ if (!error_in_archive) /* don't overwrite stronger error */
+ error_in_archive = PK_WARN;
+ }
+diff --git a/list.c b/list.c
+index 15e0011..0b484f6 100644
+--- a/list.c
++++ b/list.c
+@@ -181,7 +181,7 @@ int list_files(__G) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide, "%s", LoadFarString(ReportMsg)));
+ return PK_BADERR; /* sig not found */
}
- INCSTR(p);
-@@ -2176,7 +2176,7 @@ int do_string(__G__ length, option) /* return PK-type error code */
- (*G.message)((zvoid *)&G, slide, (ulg)(q-slide), 0);
- q = slide;
- if (pause && G.extract_flag) /* don't pause for list/test */
-- (*G.mpause)((zvoid *)&G, LoadFarString(QuitPrompt), 0);
-+ (*G.mpause)((zvoid *)&G, (char*)(QuitPrompt), 0);
- }
+ }
+@@ -507,7 +507,7 @@ int list_files(__G) /* return PK-type error code */
+ && (!G.ecrec.is_zip64_archive)
+ && (memcmp(G.sig, end_central_sig, 4) != 0)
+ ) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN; /* didn't find sig */
+ }
+
+@@ -591,7 +591,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide, "%s", LoadFarString(ReportMsg)));
+ return PK_BADERR; /* sig not found */
}
- (*G.message)((zvoid *)&G, slide, (ulg)(q-slide), 0);
-diff --git a/unzip.c b/unzip.c
-index 2d94a38..ca135af 100644
---- a/unzip.c
-+++ b/unzip.c
-@@ -1079,7 +1079,7 @@ int unzip(__G__ argc, argv)
- #ifndef _WIN32_WCE /* Win CE does not support environment variables */
- if ((error = envargs(&argc, &argv, LoadFarStringSmall(EnvZipInfo),
- LoadFarStringSmall2(EnvZipInfo2))) != PK_OK)
-- perror(LoadFarString(NoMemEnvArguments));
-+ perror((char*)(NoMemEnvArguments));
- #endif
- } else
- #endif /* !NO_ZIPINFO */
-@@ -1088,7 +1088,7 @@ int unzip(__G__ argc, argv)
- #ifndef _WIN32_WCE /* Win CE does not support environment variables */
- if ((error = envargs(&argc, &argv, LoadFarStringSmall(EnvUnZip),
- LoadFarStringSmall2(EnvUnZip2))) != PK_OK)
-- perror(LoadFarString(NoMemEnvArguments));
-+ perror((char*)(NoMemEnvArguments));
- #endif
- }
+ }
+@@ -674,7 +674,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
+ ---------------------------------------------------------------------------*/
+ if (memcmp(G.sig, end_central_sig, 4)) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN;
+ }
+ if (*nmember == 0L && error_in_archive <= PK_WARN)
diff --git a/zipinfo.c b/zipinfo.c
-index 0ac75b3..8a0887c 100644
+index 0ac75b3..1e7fa82 100644
--- a/zipinfo.c
+++ b/zipinfo.c
-@@ -1640,14 +1640,14 @@ static int zi_long(__G__ pEndprev, error_in_archive)
+@@ -833,7 +833,7 @@ int zipinfo(__G) /* return PK-type error code */
+ Info(slide, 0x401,
+ ((char *)slide, LoadFarString(CentSigMsg), j));
+ Info(slide, 0x401,
+- ((char *)slide, LoadFarString(ReportMsg)));
++ ((char *)slide, "%s", LoadFarString(ReportMsg)));
+ error_in_archive = PK_BADERR; /* sig not found */
+ break;
+ }
+@@ -1022,7 +1022,7 @@ int zipinfo(__G) /* return PK-type error code */
+ && (!G.ecrec.is_zip64_archive)
+ && (memcmp(G.sig, end_central_sig, 4) != 0)
+ ) { /* just to make sure again */
+- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
++ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
+ error_in_archive = PK_WARN; /* didn't find sig */
+ }
- *types = '\0';
- if (*ef_ptr & 1) {
-- strcpy(types, LoadFarString(UTmodification));
-+ strcpy(types, (char*)(UTmodification));
- ++num;
- }
- if (*ef_ptr & 2) {
- len = strlen(types);
- if (num)
- types[len++] = '/';
-- strcpy(types+len, LoadFarString(UTaccess));
-+ strcpy(types+len, (char*)(UTaccess));
- ++num;
- if (*pEndprev > 0L)
- *pEndprev += 4L;
-@@ -1656,7 +1656,7 @@ static int zi_long(__G__ pEndprev, error_in_archive)
- len = strlen(types);
- if (num)
- types[len++] = '/';
-- strcpy(types+len, LoadFarString(UTcreation));
-+ strcpy(types+len, (char *)(UTcreation));
- ++num;
- if (*pEndprev > 0L)
- *pEndprev += 4L;
-@@ -2331,7 +2331,7 @@ static char *zi_time(__G__ datetimez, modtimez, d_t_str)
- /* time conversion error in verbose listing format,
- * return string with '?' instead of data
- */
-- return (strcpy(d_t_str, LoadFarString(lngYMDHMSTimeError)));
-+ return (strcpy(d_t_str, (char*)(lngYMDHMSTimeError)));
- } else
- t = (struct tm *)NULL;
- if (t != (struct tm *)NULL) {
-