diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2012-01-14 02:43:10 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2012-01-14 02:43:10 +0000 |
commit | 7c414789157221234527859d242abf890f5a7186 (patch) | |
tree | e713251c6ada5882b4099a2827460fe818407f13 | |
parent | 75912912b496d276d58a0ce5ce8bc798c69aef30 (diff) | |
download | netpbm-mirror-7c414789157221234527859d242abf890f5a7186.tar.gz netpbm-mirror-7c414789157221234527859d242abf890f5a7186.tar.xz netpbm-mirror-7c414789157221234527859d242abf890f5a7186.zip |
Fix array bounds violations
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1626 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | analyzer/pgmtexture.c | 16 |
1 files changed, 12 insertions, 4 deletions
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; |