about summary refs log tree commit diff
path: root/analyzer/pgmtexture.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2012-01-14 02:43:10 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2012-01-14 02:43:10 +0000
commit7c414789157221234527859d242abf890f5a7186 (patch)
treee713251c6ada5882b4099a2827460fe818407f13 /analyzer/pgmtexture.c
parent75912912b496d276d58a0ce5ce8bc798c69aef30 (diff)
downloadnetpbm-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
Diffstat (limited to 'analyzer/pgmtexture.c')
-rw-r--r--analyzer/pgmtexture.c16
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;