Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:Update
gstreamer-plugins-bad.31942
gstreamer-mptssection-fix-pat-parsing.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gstreamer-mptssection-fix-pat-parsing.patch of Package gstreamer-plugins-bad.31942
From 7b12593cceaa0726d7fc370a7556a8e773ccf318 Mon Sep 17 00:00:00 2001 From: Edward Hervey <edward@centricular.com> Date: Sat, 26 Nov 2016 10:23:01 +0100 Subject: [PATCH] mpegtssection: Fix PAT parsing Use the estimated number of programs for parsing. Avoids over-reading. https://bugzilla.gnome.org/show_bug.cgi?id=775120 Backported by Mike Gorse <mgorse@suse.com> --- diff -urp gst-plugins-bad-1.2.4.orig/gst-libs/gst/mpegts/gstmpegtssection.c gst-plugins-bad-1.2.4/gst-libs/gst/mpegts/gstmpegtssection.c --- gst-plugins-bad-1.2.4.orig/gst-libs/gst/mpegts/gstmpegtssection.c 2016-12-13 13:33:44.044016286 -0600 +++ gst-plugins-bad-1.2.4/gst-libs/gst/mpegts/gstmpegtssection.c 2016-12-13 13:40:29.788016615 -0600 @@ -337,7 +337,7 @@ static gpointer _parse_pat (GstMpegTsSection * section) { GPtrArray *pat; - guint16 i = 0, nb_programs; + guint16 i, nb_programs; GstMpegTsPatProgram *program; guint8 *data, *end; @@ -353,7 +353,9 @@ _parse_pat (GstMpegTsSection * section) g_ptr_array_new_full (nb_programs, (GDestroyNotify) _mpegts_pat_program_free); - while (data < end - 4) { + GST_LOG ("nb_programs %u", nb_programs); + + for (i = 0; i < nb_programs; i++) { program = g_slice_new0 (GstMpegTsPatProgram); program->program_number = GST_READ_UINT16_BE (data); data += 2; @@ -362,8 +364,6 @@ _parse_pat (GstMpegTsSection * section) data += 2; g_ptr_array_index (pat, i) = program; - - i++; } pat->len = nb_programs; Only in gst-plugins-bad-1.2.4/gst-libs/gst/mpegts: gstmpegtssection.c.orig Only in gst-plugins-bad-1.2.4/gst-libs/gst/mpegts: gstmpegtssection.c.rej
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor