diff options
-rw-r--r-- | analyzer/pamsharpmap.c | 2 | ||||
-rw-r--r-- | analyzer/pamsharpness.c | 2 | ||||
-rw-r--r-- | converter/other/pamtopfm.c | 2 | ||||
-rw-r--r-- | doc/HISTORY | 3 | ||||
-rw-r--r-- | editor/pamditherbw.c | 5 |
5 files changed, 9 insertions, 5 deletions
diff --git a/analyzer/pamsharpmap.c b/analyzer/pamsharpmap.c index 73923ab9..8a08f981 100644 --- a/analyzer/pamsharpmap.c +++ b/analyzer/pamsharpmap.c @@ -137,7 +137,7 @@ main(int argc, char **argv) { ifP = pm_openr(cmdline.inputFilespec); - tuplenarray = pnm_readpamn(ifP, &inpam, sizeof(inpam)); + tuplenarray = pnm_readpamn(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type)); mappam = inpam; mappam.file = stdout; diff --git a/analyzer/pamsharpness.c b/analyzer/pamsharpness.c index 7e52a9ba..2cb5edb9 100644 --- a/analyzer/pamsharpness.c +++ b/analyzer/pamsharpness.c @@ -136,7 +136,7 @@ main(int argc, char **argv) { ifP = pm_openr(cmdline.inputFilespec); - tuplenarray = pnm_readpamn(ifP, &inpam, sizeof(inpam)); + tuplenarray = pnm_readpamn(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type)); if (inpam.height < 3 || inpam.width < 3) pm_error("sharpness is undefined for an image less than 3 pixels " diff --git a/converter/other/pamtopfm.c b/converter/other/pamtopfm.c index 44a8ab08..ee44eeb5 100644 --- a/converter/other/pamtopfm.c +++ b/converter/other/pamtopfm.c @@ -279,7 +279,7 @@ main(int argc, char **argv ) { ifP = pm_openr(cmdline.inputFilespec); - tuplenArray = pnm_readpamn(ifP, &pam, sizeof(pam)); + tuplenArray = pnm_readpamn(ifP, &pam, PAM_STRUCT_SIZE(tuple_type)); writePfmHeader(stdout, makePfmHeader(&pam, cmdline.scale, cmdline.endian)); diff --git a/doc/HISTORY b/doc/HISTORY index eec10a9d..10ad691f 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -22,6 +22,9 @@ not yet BJH Release 10.41.00 xwdtopnm: deal with too-large bits per pixel value in XWD header. + pamditherbw, pamsharpness, pamsharpmask, pamtopfm: + fix crash due to write to arbitrary memory. + pnmcrop: fix -verbose message about background color with -white. diff --git a/editor/pamditherbw.c b/editor/pamditherbw.c index 49e78a4e..f26468bb 100644 --- a/editor/pamditherbw.c +++ b/editor/pamditherbw.c @@ -153,6 +153,7 @@ parseCommandLine(int argc, char ** argv, } + static struct pam makeOutputPam(unsigned int const width, unsigned int const height) { @@ -339,7 +340,7 @@ doHilbert(FILE * const ifP, int *x,*y; int sum; - grays = pnm_readpam(ifP, &graypam, sizeof(graypam)); + grays = pnm_readpam(ifP, &graypam, PAM_STRUCT_SIZE(tuple_type)); bitpam = makeOutputPam(graypam.width, graypam.height); @@ -852,7 +853,7 @@ main(int argc, char *argv[]) { tuple * bitrow; int row; - pnm_readpaminit(ifP, &graypam, sizeof(graypam)); + pnm_readpaminit(ifP, &graypam, PAM_STRUCT_SIZE(tuple_type)); bitpam = makeOutputPam(graypam.width, graypam.height); |