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]