Hide Forgot
+++ This bug was initially created as a clone of Bug #669844 +++ [...] Additional info: I guess simple switching SDL_memcpy to memmove would fix the problem even tough that would add one extra branch for each line that is copied. But in end switching both branches to use simple memmove would be big gain as C library would have CPU specific optimizations that are missing from SDL. [...] Fix provided by upstream, SDL version in RHEL-6 is affected and fixable. Reproduction depends on glibc version (memcpy() implementation), CPU and memory mapping.
Created attachment 479499 [details] Fix from upstream
Created attachment 479500 [details] Reproducer Requires new glibc, SSE3 CPU, and little of luck.
Current glibc-2.12-1.19.el6.x86_64 does not provided affected memcpy(), so the SDL bug does not exhibit now.
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. If you would like it considered as an exception in the current release, please ask your support representative.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause Calling SDL_BlitSurface() on overlaping rectangles while running on SSE3 optimized standard C library. Consequence Rectangle bitmaps content is corrupted what produces garbage on the screen. Fix Internal SDL_BlitCopyOverlap() function has been fixed to copy bitmaps between overlapping areas correctly. Result SDL_BlitSurface() function performs correctly even if standard C library does not implement memcpy() safely for operation on overlapping memory areas.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-0446.html