Fixed leak of dims in MatND creates
authorJames Bowman <no@email>
Wed, 19 Jan 2011 01:43:45 +0000 (01:43 +0000)
committerJames Bowman <no@email>
Wed, 19 Jan 2011 01:43:45 +0000 (01:43 +0000)
modules/python/cv.cpp
tests/python/leak2.py

index 61cdd54..6cbe1d9 100644 (file)
@@ -2793,6 +2793,7 @@ static PyObject *pycvCreateMatNDHeader(PyObject *self, PyObject *args)
 
   m->data = Py_None;
   Py_INCREF(m->data);
+  delete [] dims.i;
   return (PyObject*)m;
 }
 
@@ -2806,6 +2807,7 @@ static PyObject *pycvCreateMatND(PyObject *self, PyObject *args)
     return NULL;
   cvmatnd_t *m = PyObject_NEW(cvmatnd_t, &cvmatnd_Type);
   ERRWRAP(m->a = cvCreateMatND(dims.count, dims.i, type));
+  delete [] dims.i;
   return pythonize_CvMatND(m);
 }
 
index 2a3d4ae..a67352f 100644 (file)
@@ -6,5 +6,5 @@ while True:
     for i in range(4000):
         a = cv.CreateImage((1024,1024), cv.IPL_DEPTH_8U, 1)
         b = cv.CreateMat(1024, 1024, cv.CV_8UC1)
-        c = cv.CreateMatND([1024,1024], cv.CV_8UC1)
+        c = cv.CreateMatND([1024,1024], cv.CV_8UC1)
     print "pause..."