decoder: h264: initialize PPS's slice_group_id

When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
so it contains random data.

When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
pointer uninitialized, leading to a segmentation fault when the memory is
freed.

This patch prevents this by initializing the slice_group_id before the PPS
parsing.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=754845
This commit is contained in:
Víctor Manuel Jáquez Leal 2015-09-11 16:49:16 +02:00
parent 6d0c2a8e23
commit f6ae00a6bb

View file

@ -1713,6 +1713,7 @@ parse_pps(GstVaapiDecoderH264 *decoder, GstVaapiDecoderUnit *unit)
standard but that should get a default value anyway */
pps->slice_group_map_type = 0;
pps->slice_group_change_rate_minus1 = 0;
pps->slice_group_id = NULL;
result = gst_h264_parser_parse_pps(priv->parser, &pi->nalu, pps);
if (result != GST_H264_PARSER_OK)