fixed memory leaks in lst_to_matrix() and diag_matrix()
authorChristian Bauer <Christian.Bauer@uni-mainz.de>
Fri, 23 Mar 2001 18:36:41 +0000 (18:36 +0000)
committerChristian Bauer <Christian.Bauer@uni-mainz.de>
Fri, 23 Mar 2001 18:36:41 +0000 (18:36 +0000)
ginac/matrix.cpp

index 650799e55f6353db6807e1d42a8d7904cc55291b..cc80f7cae43b66d1223f0364acdac57ba533cf9f 100644 (file)
@@ -1447,9 +1447,10 @@ ex lst_to_matrix(const lst & l)
        for (i=0; i<rows; i++)
                if (l.op(i).nops() > cols)
                        cols = l.op(i).nops();
-       
+
        // Allocate and fill matrix
        matrix &m = *new matrix(rows, cols);
+       m.setflag(status_flags::dynallocated);
        for (i=0; i<rows; i++)
                for (j=0; j<cols; j++)
                        if (l.op(i).nops() > j)
@@ -1464,6 +1465,7 @@ ex diag_matrix(const lst & l)
        unsigned dim = l.nops();
 
        matrix &m = *new matrix(dim, dim);
+       m.setflag(status_flags::dynallocated);
        for (unsigned i=0; i<dim; i++)
                m.set(i, i, l.op(i));