diff options
author | Jeff Muizelaar <jmuizelaar@mozilla.com> | 2008-12-05 11:45:03 -0500 |
---|---|---|
committer | Jeff Muizelaar <jmuizelaar@mozilla.com> | 2008-12-05 11:45:03 -0500 |
commit | 985829f26b15aaa3e336127412c771027577313f (patch) | |
tree | ceca676dc5ccf5b4292d842ea14d815ea9d35fe2 | |
parent | 4238047c228ca885a24bd341aa48a3ad54590837 (diff) |
Check alignment of 'src' pointer in optimized ARM routines
fbCompositeSrcAdd_8000x8000arm() tries to align 'dst' already but must check
'src' too. Otherwise, the next 4-byte copy loop might access an odd 'src' address
causing an alignment trap.
Patch from Enrico Scholz
-rw-r--r-- | pixman/pixman-arm-simd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pixman/pixman-arm-simd.c b/pixman/pixman-arm-simd.c index 8aa81d2..f595325 100644 --- a/pixman/pixman-arm-simd.c +++ b/pixman/pixman-arm-simd.c @@ -60,7 +60,7 @@ fbCompositeSrcAdd_8000x8000arm (pixman_op_t op, srcLine += srcStride; w = width; - while (w && (unsigned long)dst & 3) + while (w && (((unsigned long)dst & 3) || ((unsigned long)src & 3))) { s = *src; d = *dst; |