From 7c414789157221234527859d242abf890f5a7186 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sat, 14 Jan 2012 02:43:10 +0000 Subject: Fix array bounds violations git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1626 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- analyzer/pgmtexture.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'analyzer/pgmtexture.c') diff --git a/analyzer/pgmtexture.c b/analyzer/pgmtexture.c index 03723c73..d14ba547 100644 --- a/analyzer/pgmtexture.c +++ b/analyzer/pgmtexture.c @@ -609,10 +609,12 @@ f6_savg (float ** const p, /*---------------------------------------------------------------------------- Sum Average -----------------------------------------------------------------------------*/ - float pxpy[2 * PGM_MAXMAXVAL]; + float pxpy[2 * (PGM_MAXMAXVAL+1) + 1]; unsigned int i; float savg; + assert(2*ng < ARRAY_SIZE(pxpy)); + for (i = 0; i <= 2 * ng; ++i) pxpy[i] = 0.0; @@ -636,10 +638,12 @@ f7_svar (float ** const p, /*---------------------------------------------------------------------------- Sum Variance -----------------------------------------------------------------------------*/ - float pxpy[2 * PGM_MAXMAXVAL]; + float pxpy[2 * (PGM_MAXMAXVAL+1) + 1]; unsigned int i; float var; + assert(2*ng < ARRAY_SIZE(pxpy)); + for (i = 0; i <= 2 * ng; ++i) pxpy[i] = 0; @@ -662,10 +666,12 @@ f8_sentropy (float ** const p, /*---------------------------------------------------------------------------- Sum Entropy -----------------------------------------------------------------------------*/ - float pxpy[2 * PGM_MAXMAXVAL]; + float pxpy[2 * (PGM_MAXMAXVAL+1) + 1]; unsigned int i; float sentropy; + assert(2*ng < ARRAY_SIZE(pxpy)); + for (i = 0; i <= 2 * ng; ++i) pxpy[i] = 0; @@ -743,10 +749,12 @@ f11_dentropy (float ** const p, /*---------------------------------------------------------------------------- Difference Entropy -----------------------------------------------------------------------------*/ - float pxpy[2 * PGM_MAXMAXVAL]; + float pxpy[2 * (PGM_MAXMAXVAL+1) + 1]; unsigned int i; float sum; + assert(2*ng < ARRAY_SIZE(pxpy)); + for (i = 0; i <= 2 * ng; ++i) pxpy[i] = 0; -- cgit 1.4.1