GNOME Bugzilla – Bug 480543
[spc] crashes when not given any input data
Last modified: 2008-11-25 18:28:46 UTC
The bug has been opened on https://bugs.launchpad.net/bugs/144254 "Binary package hint: rhythmbox This happened when exiting the program. ... Package: rhythmbox 0.11.2-0ubuntu3 ...
+ Trace 165610
Looks like a bug in the GStreamer SPC decoder element. It might help if the original submitter could find and upload the file that caused the crash.
Line 252 of the version of gstspc.c that the user would have been using is: guchar *data = GST_BUFFER_DATA (spc->buf); It seems like it could get in there without a buffer if the file was 0 bytes long, or if the entire file looked like tag data (there's a tag demuxer there of some kind). $ touch emptyfile $ gst-launch-0.10 filesrc location=emptyfile ! spcdec ! fakesink crashes in the same way.
Created attachment 122416 [details] [review] obvious patch This fixes the crash, but instead 'filesrc location=emptyfile ! spcdec ! fakesink' hangs.
Something like this should properly error and EOS: Patch by: Jonathan Matthew <notverysmart at gmail dot com> * ext/spc/gstspc.c: (gst_spc_dec_sink_event), (spc_setup): Post an error and push EOS when we can't start playback for some reason. also avoid a crash when fed an empty file. Fixes #480543.