From acdcfedde27fc33dfc13a091228405c5526706f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vanessa=20Chipirr=C3=A1s=20Naval=C3=B3n?= Date: Wed, 26 Aug 2015 12:47:58 +0200 Subject: [PATCH] faceblur: Check CvHaarClassifierCascade is release before being modified. For PROP_PROFILE case that exist inside gst_face_blur_set_property function loads the new XML file in the CvHaarClassifierCascade property without first checking that it is released because maybe there is an XML file previously loaded. https://bugzilla.gnome.org/show_bug.cgi?id=753994 --- ext/opencv/gstfaceblur.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/opencv/gstfaceblur.cpp b/ext/opencv/gstfaceblur.cpp index 6c9728cac8..f3b6bb2187 100644 --- a/ext/opencv/gstfaceblur.cpp +++ b/ext/opencv/gstfaceblur.cpp @@ -265,6 +265,8 @@ gst_face_blur_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_PROFILE: g_free (filter->profile); + if (filter->cvCascade) + cvReleaseHaarClassifierCascade (&filter->cvCascade); filter->profile = g_value_dup_string (value); filter->cvCascade = gst_face_blur_load_profile (filter, filter->profile); filter->sent_profile_load_failed_msg = FALSE;