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 686829 - opusdec: invalid gst_buffer_unmap() call for NULL buffer
opusdec: invalid gst_buffer_unmap() call for NULL buffer
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.0.0
Other Linux
: Normal major
: 1.0.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-10-24 22:39 UTC by Carlos Rafael Giani
Modified: 2012-10-25 00:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
This patch corrects the buffer unmap check (884 bytes, patch)
2012-10-24 22:39 UTC, Carlos Rafael Giani
committed Details | Review

Description Carlos Rafael Giani 2012-10-24 22:39:09 UTC
Created attachment 227207 [details] [review]
This patch corrects the buffer unmap check

The following pipeline reproduces the problem:

gst-launch-1.0 audiotestsrc ! opusenc ! rtpgstpay ! identity drop-probability=0.2 ! queue ! rtpjitterbuffer do-lost=true mode=0 ! rtpgstdepay ! opusdec plc=true ! fakesink

If PLC is turned on, the code tries to unmap a buffer that was not mapped in the first place. The reason for this is an erronous check in opus_dec_chain_parse_data() if unmapping can be done or not. It tests for buffer == NULL, but not for a buffer size of 0.
Comment 1 Tim-Philipp Müller 2012-10-25 00:35:19 UTC
commit e6b05111d37291a56e5edaca35cc4663814c5c89
Author: Carlos Rafael Giani <dv@pseudoterminal.org>
Date:   Wed Oct 24 23:40:20 2012 +0200

    opusdec: fixed buffer unmapping bug
    
    When the decoder received a NULL buffer, it tried to
    unmap a not mapped buffer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=686829