From 77e538c6f620cdaba8fa95bf7a96482fb3395485 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Fri, 12 Aug 2022 04:18:03 +0000 Subject: Fix memory corruption git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4405 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- editor/pamcat.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'editor/pamcat.c') diff --git a/editor/pamcat.c b/editor/pamcat.c index d8f6613e..bb0a6891 100644 --- a/editor/pamcat.c +++ b/editor/pamcat.c @@ -643,6 +643,8 @@ padPlanesRow(enum PlanePadMethod const planePadMethod, -----------------------------------------------------------------------------*/ unsigned int plane; + assert(inpamP->allocation_depth >= outpamP->depth); + for (plane = inpamP->depth; plane < outpamP->depth; ++plane) { unsigned int col; @@ -1053,7 +1055,7 @@ main(int argc, for (i = 0; i < cmdline.fileCt; ++i) { FILE * const ifP = pm_openr(cmdline.inputFileName[i]); - pnm_readpaminit(ifP, &inpam[i], PAM_STRUCT_SIZE(tuple_type)); + pnm_readpaminit(ifP, &inpam[i], PAM_STRUCT_SIZE(allocation_depth)); } outpam.file = stdout; @@ -1061,6 +1063,9 @@ main(int argc, computeOutputParms(cmdline.fileCt, cmdline.orientation, inpam, cmdline.verbose, &outpam); + for (i = 0; i < cmdline.fileCt; ++i) + pnm_setminallocationdepth(&inpam[i], outpam.depth); + pnm_writepaminit(&outpam); if (outpam.format == RPBM_FORMAT) { -- cgit 1.4.1