After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763503 - tsdemux can crash on shutdown
tsdemux can crash on shutdown
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal blocker
: 1.7.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-11 16:25 UTC by Jan Schmidt
Modified: 2016-03-12 09:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mpegts: Don't leave freed programs in the hash table (2.44 KB, patch)
2016-03-11 16:34 UTC, Jan Schmidt
committed Details | Review

Description Jan Schmidt 2016-03-11 16:25:13 UTC
When tsdemux calls mpegts_base_deactivate_and_free_program, it frees the program structure, but leaves a pointer to it in the global program hash table. If that program number isn't reused in the new PMT, then the bogus pointer will be used when resetting the demuxer going to READY.
Comment 1 Jan Schmidt 2016-03-11 16:34:32 UTC
Created attachment 323723 [details] [review]
mpegts: Don't leave freed programs in the hash table

When the sub-class claims a program for later freeing, make
sure it's not left in the hash table, or it can cause crashes on shutdown.

Make sure tsdemux frees any program it has kept around at shutdown
if it wasn't freed already.