diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-01-03 14:37:26 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-01-03 15:25:07 +0000 |
commit | 2f45ea017e9691c2b817884746306d27e06e0199 (patch) | |
tree | c6e338f6934bfecdb229241b3543ef1bde42f112 | |
parent | 8071bb2950068a3c6a1b5a405d16548177503a14 (diff) | |
download | ghostpdl-2f45ea017e9691c2b817884746306d27e06e0199.tar.gz |
Windows gs: Avoid unininitialised read.
-rw-r--r-- | pcl/pl/plwmainc.c | 4 | ||||
-rw-r--r-- | psi/dpmain.c | 4 | ||||
-rw-r--r-- | psi/dwmain.c | 4 | ||||
-rw-r--r-- | psi/dwmainc.c | 4 | ||||
-rw-r--r-- | psi/dxmain.c | 4 |
5 files changed, 10 insertions, 10 deletions
diff --git a/pcl/pl/plwmainc.c b/pcl/pl/plwmainc.c index aa78fd201..259589e6d 100644 --- a/pcl/pl/plwmainc.c +++ b/pcl/pl/plwmainc.c @@ -420,11 +420,11 @@ main_utf8(int argc, char *argv[]) DISPLAY_DEPTH_4 | DISPLAY_BIGENDIAN | DISPLAY_BOTTOMFIRST; sprintf(dformat, "-dDisplayFormat=%d", format); nargc = argc + 2; - nargv = (char **)malloc((nargc + 1) * sizeof(char *)); + nargv = (char **)malloc(nargc * sizeof(char *)); nargv[0] = argv[0]; nargv[1] = dformat; nargv[2] = ddpi; - memcpy(&nargv[3], &argv[1], argc * sizeof(char *)); + memcpy(&nargv[3], &argv[1], (argc-1) * sizeof(char *)); } code = pl_main_aux(nargc, nargv, &display); diff --git a/psi/dpmain.c b/psi/dpmain.c index 6b683f6e8..1475070ae 100644 --- a/psi/dpmain.c +++ b/psi/dpmain.c @@ -1029,10 +1029,10 @@ main(int argc, char *argv[]) fprintf(stdout, "%s\n", dformat); #endif nargc = argc + 1; - nargv = (char **)malloc((nargc + 1) * sizeof(char *)); + nargv = (char **)malloc(nargc * sizeof(char *)); nargv[0] = argv[0]; nargv[1] = dformat; - memcpy(&nargv[2], &argv[1], argc * sizeof(char *)); + memcpy(&nargv[2], &argv[1], (argc-1) * sizeof(char *)); if ( (code = gsdll.new_instance(&instance, NULL)) == 0) { gsdll.set_stdio(instance, gsdll_stdin, gsdll_stdout, gsdll_stderr); diff --git a/psi/dwmain.c b/psi/dwmain.c index 4d77d5776..6f902a93b 100644 --- a/psi/dwmain.c +++ b/psi/dwmain.c @@ -316,11 +316,11 @@ int new_main(int argc, char *argv[]) sprintf(dformat, "-dDisplayFormat=%d", format); } nargc = argc + 2; - nargv = (char **)malloc((nargc + 1) * sizeof(char *)); + nargv = (char **)malloc(nargc * sizeof(char *)); nargv[0] = argv[0]; nargv[1] = dformat; nargv[2] = ddpi; - memcpy(&nargv[3], &argv[1], argc * sizeof(char *)); + memcpy(&nargv[3], &argv[1], (argc-1) * sizeof(char *)); #if defined(_MSC_VER) || defined(__BORLANDC__) __try { diff --git a/psi/dwmainc.c b/psi/dwmainc.c index bd2a35fcb..c87a7f5af 100644 --- a/psi/dwmainc.c +++ b/psi/dwmainc.c @@ -663,14 +663,14 @@ static int main_utf8(int argc, char *argv[]) sprintf(dformat, "-dDisplayFormat=%d", format); } nargc = argc + 2; - nargv = (char **)malloc((nargc + 1) * sizeof(char *)); + nargv = (char **)malloc(nargc * sizeof(char *)); if (nargv == NULL) { fprintf(stderr, "Malloc failure!\n"); } else { nargv[0] = argv[0]; nargv[1] = dformat; nargv[2] = ddpi; - memcpy(&nargv[3], &argv[1], argc * sizeof(char *)); + memcpy(&nargv[3], &argv[1], (argc-1) * sizeof(char *)); #endif #if defined(_MSC_VER) || defined(__BORLANDC__) diff --git a/psi/dxmain.c b/psi/dxmain.c index 6cb03a98c..47fb7e725 100644 --- a/psi/dxmain.c +++ b/psi/dxmain.c @@ -1182,10 +1182,10 @@ int main(int argc, char *argv[]) DISPLAY_COLORS_RGB | DISPLAY_ALPHA_NONE | DISPLAY_DEPTH_8 | DISPLAY_BIGENDIAN | DISPLAY_TOPFIRST); nargc = argc + 1; - nargv = (char **)malloc((nargc + 1) * sizeof(char *)); + nargv = (char **)malloc(nargc * sizeof(char *)); nargv[0] = argv[0]; nargv[1] = dformat; - memcpy(&nargv[2], &argv[1], argc * sizeof(char *)); + memcpy(&nargv[2], &argv[1], (argc-1) * sizeof(char *)); /* run Ghostscript */ if ((code = gsapi_new_instance(&instance, NULL)) == 0) { |