gstreamer-plugins-bad-free/0005-geometrictransform-cra...

38 lines
1.1 KiB
Diff

From 4e7edb2778f85a5475ffe9c782c91d86a7b902ca Mon Sep 17 00:00:00 2001
From: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
Date: Mon, 12 Mar 2012 14:42:04 +0000
Subject: geometrictransform: make sure gt->map not freed twice
current cheese can create situation where gt->map is freed twice.
This patch set map to null to avoid it.
https://bugzilla.gnome.org/show_bug.cgi?id=671910
diff --git a/gst/geometrictransform/gstgeometrictransform.c b/gst/geometrictransform/gstgeometrictransform.c
index 8e78de7..274d483 100644
--- a/gst/geometrictransform/gstgeometrictransform.c
+++ b/gst/geometrictransform/gstgeometrictransform.c
@@ -143,9 +143,10 @@ gst_geometric_transform_generate_map (GstGeometricTransform * gt)
}
end:
- if (!ret)
+ if (!ret) {
g_free (gt->map);
- else
+ gt->map = NULL;
+ } else
gt->needs_remap = FALSE;
return ret;
}
@@ -348,6 +349,7 @@ gst_geometric_transform_stop (GstBaseTransform * trans)
GstGeometricTransform *gt = GST_GEOMETRIC_TRANSFORM_CAST (trans);
g_free (gt->map);
+ gt->map = NULL;
return TRUE;
}
--
cgit v0.9.0.2-2-gbebe