Adam Tkac 6986f49
From b08e7198dc0141b8074d8fdff681019d86655a38 Mon Sep 17 00:00:00 2001
Adam Tkac 6986f49
From: Adam Tkac <atkac@redhat.com>
Adam Tkac 6986f49
Date: Tue, 12 Apr 2011 16:49:43 +0200
Adam Tkac 6986f49
Subject: [PATCH] Use memmove instead of memcpy in fbblt.c when memory regions
Adam Tkac 6986f49
 overlap.
Adam Tkac 6986f49
Adam Tkac 6986f49
Signed-off-by: Adam Tkac <atkac@redhat.com>
Adam Tkac 6986f49
---
Adam Tkac 6986f49
 fb/fb.h    |    4 ++++
Adam Tkac 6986f49
 fb/fbblt.c |    4 ++--
Adam Tkac 6986f49
 2 files changed, 6 insertions(+), 2 deletions(-)
Adam Tkac 6986f49
Adam Tkac 6986f49
diff --git a/fb/fb.h b/fb/fb.h
Adam Tkac 6986f49
index eaa21ad..f68fe3b 100644
Adam Tkac 6986f49
--- a/fb/fb.h
Adam Tkac 6986f49
+++ b/fb/fb.h
Adam Tkac 6986f49
@@ -66,6 +66,9 @@
Adam Tkac 6986f49
     }                                                             \
Adam Tkac 6986f49
 } while(0)
Adam Tkac 6986f49
 
Adam Tkac 6986f49
+/* XXX: Is this enough? */
Adam Tkac 6986f49
+#define MEMMOVE_WRAPPED MEMCPY_WRAPPED
Adam Tkac 6986f49
+
Adam Tkac 6986f49
 #else
Adam Tkac 6986f49
 
Adam Tkac 6986f49
 #define FBPREFIX(x) fb##x
Adam Tkac 6986f49
@@ -73,6 +76,7 @@
Adam Tkac 6986f49
 #define READ(ptr) (*(ptr))
Adam Tkac 6986f49
 #define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size))
Adam Tkac 6986f49
 #define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size))
Adam Tkac 6986f49
+#define MEMMOVE_WRAPPED(dst, src, size) memmove((dst), (src), (size))
Adam Tkac 6986f49
 
Adam Tkac 6986f49
 #endif
Adam Tkac 6986f49
 
Adam Tkac 6986f49
diff --git a/fb/fbblt.c b/fb/fbblt.c
Adam Tkac 6986f49
index a040298..e16c660 100644
Adam Tkac 6986f49
--- a/fb/fbblt.c
Adam Tkac 6986f49
+++ b/fb/fbblt.c
Adam Tkac 6986f49
@@ -88,10 +88,10 @@ fbBlt (FbBits   *srcLine,
Adam Tkac 6986f49
 
Adam Tkac 6986f49
         if (!upsidedown)
Adam Tkac 6986f49
             for (i = 0; i < height; i++)
Adam Tkac 6986f49
-                MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width);
Adam Tkac 6986f49
+                MEMMOVE_WRAPPED(dst + i * dstStride, src + i * srcStride, width);
Adam Tkac 6986f49
         else
Adam Tkac 6986f49
             for (i = height - 1; i >= 0; i--)
Adam Tkac 6986f49
-                MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width);
Adam Tkac 6986f49
+                MEMMOVE_WRAPPED(dst + i * dstStride, src + i * srcStride, width);
Adam Tkac 6986f49
 
Adam Tkac 6986f49
         return;
Adam Tkac 6986f49
     }
Adam Tkac 6986f49
-- 
Adam Tkac 6986f49
1.7.4.4
Adam Tkac 6986f49