summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Muizelaar <jmuizelaar@mozilla.com>2008-12-05 11:45:03 -0500
committerJeff Muizelaar <jmuizelaar@mozilla.com>2008-12-05 11:45:03 -0500
commit985829f26b15aaa3e336127412c771027577313f (patch)
treececa676dc5ccf5b4292d842ea14d815ea9d35fe2
parent4238047c228ca885a24bd341aa48a3ad54590837 (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.c2
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;