Package: xmms-scrobbler Followup-For: Bug #290128 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The broken macros in endian.h create absurd results when dealing with numbers > 127 due to assuming char is unsigned. Basically, it returns a really large number (e.g., several gigs), which is then passed to malloc. malloc (naturally) returns NULL on 32-bit archs. The result of malloc is not tested (ugh...), and then a memcpy to NULL is attempted. [The results would be different, possibly worse, on a 64-bit arch where the malloc could succeed.] If you change debian/rules to do: CFLAGS="$(CFLAGS)" configure ... (you should probably do this anyway) and then export DEB_BUILD_OPTS='noopt,nostrip' dpkg-buildpackage -rfakeroot -b -uc install the resulting package, and you can easily watch the crash by running xmms (or I assume bmp) under ddd. The backtrace the reporter provided is wrong due to compiling with optimizations (ok, not wrong, but misleading). See my post on the AudioScrobbler forums: http://www.audioscrobbler.com/forum/4/_/18676 I've patched it locally as shown in that post; that's the only reason most of my music doesn't crash xmms. PS: glib provides, I believe, endian conversion functions; any reason not to use those? PS(2): ALWAYS check the result of malloc. malloc hates you. malloc will fail when you least expect it. PS(3): Doesn't libvorbis or libvorbisfile already have things for reading Vorbis tags? Any reason not to use it? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFB+Dbp+z+IwlXqWf4RAuTyAJ9Xo6qt+M+762lccqI1vSHg+56QnwCfUQ57 JK+tYz4Q+dJmRu/OUTu3chA= =pagi -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]