From: William M. B. <wb...@mm...> - 2005-09-19 15:10:41
|
I think I have found three problems in the sources of jpeg-mmx-0.1.6. The symptom was that software running without problems under libjpeg failed (usually with a segfault) when using libjpeg-mmx, and Valgrind reported illegal memory accesses. 1) jdcolor.c, at about line 265 - an extra 'pushl %%ebx' (i.e. no matching popl) 2) jidctint.c, about line 1538, same problem 3) jdcolor.c, about line 350 - the instruction 'movq %%mm3,6%0' - This is a little more complicated. If the output buffer is not a mutiple of 8 bytes, this instruction can "spill over" the allocated size. I have not come up with an appropriate fix - I just bypassed the problem by assuring my buffer was larger than needed. Regards, Bill |