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 791638 - playbin3: Fix accessing invalid index in GstStream when received select-stream event
playbin3: Fix accessing invalid index in GstStream when received select-stre...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Mac OS
: Normal normal
: 1.12.5
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-12-15 02:24 UTC by Gabby Park
Modified: 2017-12-15 08:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix accessing invalid index in GstStream (1.12 KB, patch)
2017-12-15 02:24 UTC, Gabby Park
committed Details | Review

Description Gabby Park 2017-12-15 02:24:56 UTC
Created attachment 365564 [details] [review]
Fix accessing invalid index in GstStream

If select-stream event was send to playbin3 as missing any GstStream of ES type
(V or A or TEX) of collection then, playbin will access to invalid address of
GstStream due to invalid index limit. This caused SIGSEGV.
Comment 1 Gabby Park 2017-12-15 02:27:33 UTC
My test scenario is as below:
1) Track info of Test Stream
- 1 Video
- 2 Audio
- 1 Subtitle

2) Sent stream-select event info
- index 0 video
- index 1 audio
- no subtitle
Comment 2 Edward Hervey 2017-12-15 08:03:54 UTC
whoooops, thanks for spotting that :)

commit a8a5905ec65272e1a499d97bab2e2d4727c85112 (HEAD -> master, origin/master, origin/HEAD)
Author: Dongil Park <dongil.park@lge.com>
Date:   Fri Dec 15 10:50:44 2017 +0900

    playbin3: Fix accessing invalid index in GstStream when received select-stream event
    
    If select-stream event was send to playbin3 as missing any GstStream of ES type
    (V or A or TEX) of collection then, playbin will access to invalid address of
    GstStream due to invalid index limit. This caused SIGSEGV.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=791638
Comment 3 Edward Hervey 2017-12-15 08:17:26 UTC
And backported to 1.12