From b4c52e13c41dcf93022ce356f7a33cac096dad15 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Thu, 23 Oct 2008 16:18:38 +0000 Subject: Fix array bounds violation with PBM,PGM pnm_createBlackTuple git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@761 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- lib/libpam.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'lib/libpam.c') diff --git a/lib/libpam.c b/lib/libpam.c index 9e96029a..ab75fab6 100644 --- a/lib/libpam.c +++ b/lib/libpam.c @@ -195,21 +195,12 @@ pnm_createBlackTuple(const struct pam * const pamP, Create a "black" tuple. By that we mean a tuple all of whose elements are zero. If it's an RGB, grayscale, or b&w pixel, that means it's black. -----------------------------------------------------------------------------*/ + unsigned int i; + *blackTupleP = pnm_allocpamtuple(pamP); - if (pamP->format == PAM_FORMAT) { - /* In this format, we don't know the meaning of "black", so we - just punt. - */ - int i; - for (i = 0; i < pamP->depth; i++) - (*blackTupleP)[i] = 0; - } else { - xel black_xel; - black_xel = pnm_blackxel(pamP->maxval, pamP->format); - (*blackTupleP)[0] = PPM_GETR(black_xel); - (*blackTupleP)[1] = PPM_GETG(black_xel); - (*blackTupleP)[2] = PPM_GETB(black_xel); - } + + for (i = 0; i < pamP->depth; ++i) + (*blackTupleP)[i] = 0; } -- cgit 1.4.1