GNOME Bugzilla – Bug 109700
[0.6.1 candidate] mp3types.c typefind assumes 32bit gulong
Last modified: 2004-12-22 21:47:04 UTC
The variable "head" in gst/mpegaudioparse/gstmp3types.c:mp3_type_find should be changed to guint32, same for the GULONG_FROM_BE.
The output of 'grep -r GU*LONG_FROM .' shows that this is a pretty pervasive problem. Fixed in HEAD, please apply to 0.6.1. http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpegaudioparse/gstmp3types.c.diff?r1=1.11&r2=1.12
at least the vorbis typefinding does this too (gst-plugins/ext/vorbis/vorbis.c). Marking for 0.6.1.
Uhm, already applied. Closing.
A bunch more fixes. I believe this fixes every case. There are other instances of GULONG_FROM_BE(), but they are related to printing fourcc values for debugging. http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/dv/gstdvdec.c.diff?r1=1.32&r2=1.33 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/flac/gstflac.c.diff?r1=1.9&r2=1.10 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/ivorbis/vorbis.c.diff?r1=1.2&r2=1.3 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/tarkin/gsttarkin.c.diff?r1=1.3&r2=1.4 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/auparse/gstauparse.c.diff?r1=1.10&r2=1.11 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpeg1sys/buffer.c.diff?r1=1.8&r2=1.9 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpeg1videoparse/gstmp1videoparse.c.diff?r1=1.12&r2=1.13 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpegaudioparse/gstmpegaudioparse.c.diff?r1=1.15&r2=1.16 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpegtypes/gstmpeg1types.c.diff?r1=1.3&r2=1.4 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/mpegtypes/gstmpeg2types.c.diff?r1=1.3&r2=1.4
Applied. Thanks again!