ddraw: Partially revert a struct copy change to fix a regression. (Bug 27634)
Dylan Smith
dylan.ah.smith at gmail.com
Tue Jun 28 11:41:21 CDT 2011
Commit 3871329872afe3976e0b2b85330e3a7c47301658 caused the regression.
---
dlls/ddraw/ddraw_private.h | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index e15219d..5e20b8e 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -584,10 +584,11 @@ typedef struct
#define DD_STRUCT_COPY_BYSIZE_(to,from,from_size) \
do { \
DWORD __size = (to)->dwSize; \
- DWORD __copysize = min(__size, from_size); \
+ DWORD __resetsize = min(__size, sizeof(*to)); \
+ DWORD __copysize = min(__resetsize, from_size); \
assert(to != from); \
memcpy(to, from, __copysize); \
- memset((char*)(to) + __copysize, 0, __size - __copysize); \
+ memset((char*)(to) + __copysize, 0, __resetsize - __copysize); \
(to)->dwSize = __size; /* restore size */ \
} while (0)
--
1.7.4.1
More information about the wine-patches
mailing list