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]

Reply via email to