Am Sat, 22 May 2010 03:43:28 +0400 (MSD)
schrieb William Pitcock <neno...@dereferenced.org>: 

> This is due to a memory alignment issue in the way that the struct is packed.
> With some help from an affected user, we bisected it to mpg123 SVN r2491.

OK, that revision replaced aligned memory blocks that relied on special
compiler support with manually aligned pointers, that potentially work
on any C compiler. If there is something un-aligned, this is a serious
bug in my code there. That was the whole point

> The reason why is because some of the assembly decoders and also the reference
> decoders expect the memory to be aligned.  If this is not true, it writes to
> memory outside of the array, causing subtle heap corruption.

Can you point out what piece of code writes to outside the array? That
sounds like I miscalculated some buffer size. Or it was already wrong
in the old code, but for some reason there's been padding that has
hidden the issue.
So... are we talking about unaligned access or about buffer overflow?
your explanations suggests the latter.


Alrighty then,

Thomas.

PS: I wonder if I should nag someone to change the debian bug tracker
web interface... it filters the messages for things like hyper links,
but still puts the messages into <pre>, which prevents automatic
paragraph wrapping in browsers (that don't offer a special switch for
that, like the pre wrapping firefox plugin). It should let the text
float, instead of imposing whatever line length people use onto every
web user.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to