Used valgrind to find some uninitialized variables
authorCampbell Barton <ideasman42@gmail.com>
Sat, 5 Jan 2008 19:11:10 +0000 (19:11 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 5 Jan 2008 19:11:10 +0000 (19:11 +0000)
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/object.c
source/blender/src/drawview.c
source/blender/src/editview.c
source/blender/src/outliner.c
source/blender/src/vpaint.c

index fd22579ea67111897b68a03ba57c5303b1ac04ec..f7864761b1dc552c0d0874c964b96cc9fa899d28 100644 (file)
@@ -586,7 +586,7 @@ static void basisNurb(float t, short order, short pnts, float *knots, float *bas
 
        /* this is for float inaccuracy */
        if(t < knots[0]) t= knots[0];
-       else if(t > knots[opp2]) t= knots[opp2];
+       else if(t > knots[opp2]) t= knots[opp2]; /* Valgrind reports an error here, use a nurbs torus and change u/v res to reproduce a crash TODO*/
 
        /* this part is order '1' */
         o2 = order + 1;
index 54d090ddb225c4c46aefc74fe7727d00ba5b86a5..de2875c91f427436b27c8ea111cf6a55689e26fb 100644 (file)
@@ -2003,7 +2003,7 @@ BoundBox *unit_boundbox()
        BoundBox *bb;
        float min[3] = {-1,-1,-1}, max[3] = {-1,-1,-1};
 
-       bb= MEM_mallocN(sizeof(BoundBox), "bb");
+       bb= MEM_callocN(sizeof(BoundBox), "bb");
        boundbox_set_from_min_max(bb, min, max);
        
        return bb;
index 663227233a4651c45602460e451f207d15560a3a..1016de5c603509ae9881bdf5b754f3c32a2ab414 100644 (file)
@@ -3526,7 +3526,7 @@ int play_anim(int mode)
        ScrArea *sa, *oldsa;
        int cfraont;
        unsigned short event=0;
-       short val;
+       short val = 0; /* its possible qtest() wont run and val must be initialized */
 
        /* patch for very very old scenes */
        if(SFRA==0) SFRA= 1;
index b3252487fa66f76873a4125b5294135a13e1737d..df3d74aa345233ead3b286fe6089388bfffdddc8 100644 (file)
@@ -2730,7 +2730,7 @@ void view3d_edit_clipping(View3D *v3d)
                if(val==0) return;
                
                v3d->flag |= V3D_CLIPPING;
-               v3d->clipbb= MEM_mallocN(sizeof(BoundBox), "clipbb");
+               v3d->clipbb= MEM_callocN(sizeof(BoundBox), "clipbb");
                
                /* convert border to 3d coordinates */
                
index 3b957b5f1423096389234f9a2baacb6fc50237f3..f0d23f9988a7bf96b01242f55e3df77917227a96 100644 (file)
@@ -229,6 +229,7 @@ static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short ty
        if(type) tselem->nr= nr; // we're picky! :)
        else tselem->nr= 0;
        tselem->id= id;
+       tselem->used = 0;
        tselem->flag= TSE_CLOSED;
        te->store_index= ts->usedelem;
        
index ac7ad0fa5fb800b7292670cff45d49a8bb3b2e11..8e580bfba23461437e6bfde0800a2a2456f25d8b 100644 (file)
@@ -746,7 +746,7 @@ static int sample_backbuf_area(VPaint *vp, int *indexar, int totface, int x, int
        struct ImBuf *ibuf;
        int x1, y1, x2, y2, a, tot=0, index;
        
-       if(totface>=MAXINDEX) return 0;
+       if(totface+4>=MAXINDEX) return 0;
        
        if(size>64.0) size= 64.0;
        
@@ -776,7 +776,7 @@ static int sample_backbuf_area(VPaint *vp, int *indexar, int totface, int x, int
        size= (y2-y1)*(x2-x1);
        if(size<=0) return 0;
 
-       memset(indexar, 0, sizeof(int)*totface+2);      /* plus 2! first element is total */
+       memset(indexar, 0, sizeof(int)*totface+4);      /* plus 2! first element is total, +2 was giving valgrind errors, +4 seems ok */
        
        while(size--) {