Alexandre Julliard : libport: Fixed invalid lvalue accesses in memmove.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Aug 1 12:45:54 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: eb2bedc56d83990499a77a7d17cad810822230e1
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=eb2bedc56d83990499a77a7d17cad810822230e1

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Aug  1 19:35:52 2006 +0200

libport: Fixed invalid lvalue accesses in memmove.

---

 libs/port/memmove.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/libs/port/memmove.c b/libs/port/memmove.c
index f8402de..7be9638 100644
--- a/libs/port/memmove.c
+++ b/libs/port/memmove.c
@@ -22,25 +22,26 @@ #include "config.h"
 #include "wine/port.h"
 
 #ifndef HAVE_MEMMOVE
-void *memmove( void *dest, const void *src, size_t len )
+void *memmove( void *dest, const void *source, size_t len )
 {
     register char *dst = dest;
+    register const char *src = source;
 
     /* Use memcpy if not overlapping */
-    if ((dst + len <= (char *)src) || ((char *)src + len <= dst))
+    if ((dst + len <= src) || (src + len <= dst))
     {
         memcpy( dst, src, len );
     }
     /* Otherwise do it the hard way (FIXME: could do better than this) */
-    else if (dst < (char *)src)
+    else if (dst < src)
     {
-        while (len--) *dst++ = *((char *)src)++;
+        while (len--) *dst++ = *src++;
     }
     else
     {
         dst += len - 1;
-        src = (char *)src + len - 1;
-        while (len--) *dst-- = *((char *)src)--;
+        src += len - 1;
+        while (len--) *dst-- = *src--;
     }
     return dest;
 }




More information about the wine-cvs mailing list