gst/h264parse/gsth264parse.c: Fix potential buffer leak in reverse mode. Fixes #516061.
Original commit message from CVS: Patch by: Josep Torra Valles <josep@fluendo.com> * gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_reverse): Fix potential buffer leak in reverse mode. Fixes #516061.
This commit is contained in:
parent
32c43f884e
commit
fe7d133879
@ -1,3 +1,10 @@
|
|||||||
|
2008-02-12 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||||
|
|
||||||
|
Patch by: Josep Torra Valles <josep@fluendo.com>
|
||||||
|
|
||||||
|
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_reverse):
|
||||||
|
Fix potential buffer leak in reverse mode. Fixes #516061.
|
||||||
|
|
||||||
2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
|
2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
* sys/dshowdecwrapper/gstdshowaudiodec.c:
|
* sys/dshowdecwrapper/gstdshowaudiodec.c:
|
||||||
|
2
common
2
common
@ -1 +1 @@
|
|||||||
Subproject commit 05a617c9043ddb78f8578195b18c166d7e1d4c2e
|
Subproject commit 2a19465fdb43a75f4d32950fd2beb1beb950eec2
|
@ -683,6 +683,7 @@ gst_h264_parse_chain_reverse (GstH264Parse * h264parse, gboolean discont,
|
|||||||
GstBuffer * buffer)
|
GstBuffer * buffer)
|
||||||
{
|
{
|
||||||
GstFlowReturn res = GST_FLOW_OK;
|
GstFlowReturn res = GST_FLOW_OK;
|
||||||
|
GstBuffer *gbuf = NULL;
|
||||||
|
|
||||||
/* if we have a discont, move buffers to the decode list */
|
/* if we have a discont, move buffers to the decode list */
|
||||||
if (G_UNLIKELY (discont)) {
|
if (G_UNLIKELY (discont)) {
|
||||||
@ -700,7 +701,6 @@ gst_h264_parse_chain_reverse (GstH264Parse * h264parse, gboolean discont,
|
|||||||
h264parse->prev = NULL;
|
h264parse->prev = NULL;
|
||||||
|
|
||||||
while (h264parse->gather) {
|
while (h264parse->gather) {
|
||||||
GstBuffer *gbuf;
|
|
||||||
guint8 *data;
|
guint8 *data;
|
||||||
|
|
||||||
/* get new buffer and init the start code search to the end position */
|
/* get new buffer and init the start code search to the end position */
|
||||||
@ -761,6 +761,7 @@ gst_h264_parse_chain_reverse (GstH264Parse * h264parse, gboolean discont,
|
|||||||
last);
|
last);
|
||||||
prev = gst_buffer_create_sub (gbuf, 0, last);
|
prev = gst_buffer_create_sub (gbuf, 0, last);
|
||||||
gst_buffer_unref (gbuf);
|
gst_buffer_unref (gbuf);
|
||||||
|
gbuf = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -777,6 +778,12 @@ gst_h264_parse_chain_reverse (GstH264Parse * h264parse, gboolean discont,
|
|||||||
GST_BUFFER_SIZE (buffer));
|
GST_BUFFER_SIZE (buffer));
|
||||||
h264parse->gather = g_list_prepend (h264parse->gather, buffer);
|
h264parse->gather = g_list_prepend (h264parse->gather, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gbuf) {
|
||||||
|
gst_buffer_unref (gbuf);
|
||||||
|
gbuf = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user