fixed memleak in Python bindings (ticket #1219)
authorVadim Pisarevsky <no@email>
Wed, 13 Jul 2011 08:55:06 +0000 (08:55 +0000)
committerVadim Pisarevsky <no@email>
Wed, 13 Jul 2011 08:55:06 +0000 (08:55 +0000)
modules/python/src2/cv2.cv.hpp

index fd3f91e..b8ddaa9 100644 (file)
@@ -276,7 +276,7 @@ static PyObject *iplimage_tostring(PyObject *self, PyObject *args)
       memcpy(s + y * bpl, i->imageData + y * i->widthStep, bpl);
     }
     PyObject *r = PyString_FromStringAndSize(s, l);
-    delete s;
+    delete[] s;
     return r;
   }
 }
@@ -433,7 +433,7 @@ static PyObject *cvmat_tostring(PyObject *self, PyObject *args)
       memcpy(s + y * bpl, m->data.ptr + y * m->step, bpl);
     }
     PyObject *r = PyString_FromStringAndSize(s, l);
-    delete s;
+    delete[] s;
     return r;
   }
 }
@@ -481,8 +481,8 @@ struct arrayTrack {
 static void arrayTrackDtor(void *p)
 {
   struct arrayTrack *at = (struct arrayTrack *)p;
-  delete at->s.shape;
-  delete at->s.strides;
+  delete[] at->s.shape;
+  delete[] at->s.strides;
   if (at->s.descr)
     Py_DECREF(at->s.descr);
   Py_DECREF(at->o);
@@ -2905,7 +2905,7 @@ public:
   ~ranges() {
     for (Py_ssize_t i = 0; i < len; i++)
       delete rr[i];
-   delete rr;
+    delete[] rr;
   }
 };