From: Stefan Kost Date: Fri, 19 Feb 2010 20:50:18 +0000 (+0200) Subject: faceblur: fix handling of profile property. X-Git-Tag: 1.19.3~507^2~16538 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=af83f0afd7df0640394fe4ae2b57bca8b7a59f01;p=platform%2Fupstream%2Fgstreamer.git faceblur: fix handling of profile property. Dup and free the string. Fixes leaking new values and avoids crashing gst-inspect. --- diff --git a/ext/opencv/faceblur/gstfaceblur.c b/ext/opencv/faceblur/gstfaceblur.c index e9da8f8..5f1deb3 100644 --- a/ext/opencv/faceblur/gstfaceblur.c +++ b/ext/opencv/faceblur/gstfaceblur.c @@ -118,6 +118,8 @@ gst_faceblur_finalize (GObject * obj) cvReleaseImage (&filter->cvImage); cvReleaseImage (&filter->cvGray); } + + g_free (filter->profile); G_OBJECT_CLASS (parent_class)->finalize (obj); } @@ -184,7 +186,7 @@ gst_faceblur_init (Gstfaceblur * filter, GstfaceblurClass * gclass) gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); - filter->profile = DEFAULT_PROFILE; + filter->profile = g_strdup (DEFAULT_PROFILE); gst_faceblur_load_profile (filter); } @@ -196,6 +198,7 @@ gst_faceblur_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_PROFILE: + g_free (filter->profile); filter->profile = g_value_dup_string (value); gst_faceblur_load_profile (filter); break; @@ -213,7 +216,7 @@ gst_faceblur_get_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_PROFILE: - g_value_take_string (value, filter->profile); + g_value_set_string (value, filter->profile); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);