>>>>> "Alejandro" == Alejandro Aguilar Sierra <[EMAIL PROTECTED]> writes:

Alejandro> Yes, please. Everything that can help. (I just need more
Alejandro> time, or rather a better administration of my time).

OK, here is one obtained by just opening tutorial. It seems that the
initialization in MathedRowSt is still not correct, or that
MathedXIter::Next is called at a point when they are not yet set.

JMarc

      UMR: Uninitialized memory read (3 times)
      This is occurring while in:
            MathedXIter::Next() [math_iter.C:596]
                     } else
                     if (c==LM_TC_TAB && p) {
               //       w = p->GetTab(col+1);
            =>           w = (crow) ? crow->getTab(col+1): 0;
                        //fprintf(stderr, "WW[%d]", w);
                     } else
                     if (c==LM_TC_CR && p) {
            MathedXIter::adjustVerticalSt() [math_iter.C:953]
                           crow = r;
               //          fprintf(stderr, " CX[%p]", crow);
                       }   
            =>         Next(); 
                   }
                   return row;
               }
            MathMatrixInset::Metrics() [math_inset.C:415]
                   if (!row) {
               //      fprintf(stderr, " MIDA ");
                       MathedXIter it(this);
            =>         row = it.adjustVerticalSt();
                   } 
                   
                   // Clean the arrays      
            MathParInset::Metrics() [math_draw.C:173]
                         if (MathIsInset(cx)) {
                             MathedInset *p = data.GetInset();
                             p->SetStyle(size);   
            =>               p->Metrics();
                             if (cx==LM_TC_UP) {
                                 asc += (limits) ? p->Height()+4: p->Ascent() + 
                                   ((p->Descent()>asc) ? p->Descent()-asc+4: 0);
            MathDelimInset::Metrics() [math_delim.C:381]
               void
               MathDelimInset::Metrics()
               {
            =>    MathParInset::Metrics();
                  int d;
                  
                  mathed_char_height(LM_TC_CONST, size, 'I', d, dh);
            MathParInset::Metrics() [math_draw.C:173]
                         if (MathIsInset(cx)) {
                             MathedInset *p = data.GetInset();
                             p->SetStyle(size);   
            =>               p->Metrics();
                             if (cx==LM_TC_UP) {
                                 asc += (limits) ? p->Height()+4: p->Ascent() + 
                                   ((p->Descent()>asc) ? p->Descent()-asc+4: 0);
      Reading 4 bytes from 0x5e028c in the heap.
      Address 0x5e028c is 4 bytes into a malloc'd block at 0x5e0288 of 16 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            __bUiLtIn_nEw  [libgcc.a]
            __builtin_new  [rtlib.o]
            __bUiLtIn_vEc_nEw [libgcc.a]
            __builtin_vec_new [rtlib.o]
            MathedXIter::adjustVerticalSt() [math_defs.h:417]
               struct MathedRowSt {    
                   /// 
                   MathedRowSt(int n) {
            =>             w = new int[n+1]; // this leaks
                       next = 0;
                       label = 0;
                       numbered = true;

Reply via email to