From 977e236102b4be50d473c397fa6aeca12fc2a166 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 28 Jul 2012 19:43:43 +0300 Subject: [PATCH] [WINESYNC] msvcrt: memmove_s shouldn't zero its output buffer on error. wine commit id 49560458426cf25b6a36bbf9bad35aa75c9f7aa7 by Dan Kegel --- sdk/lib/crt/wine/heap.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/sdk/lib/crt/wine/heap.c b/sdk/lib/crt/wine/heap.c index 8fc3f6c37f1..5cf7d6bd4ee 100644 --- a/sdk/lib/crt/wine/heap.c +++ b/sdk/lib/crt/wine/heap.c @@ -715,20 +715,9 @@ int CDECL MSVCRT_memmove_s(void *dest, MSVCRT_size_t numberOfElements, const voi if(!count) return 0; - if(!dest || !src) { - if(dest) - memset(dest, 0, numberOfElements); - - *_errno() = EINVAL; - return EINVAL; - } - - if(count > numberOfElements) { - memset(dest, 0, numberOfElements); - - *_errno() = ERANGE; - return ERANGE; - } + if (!MSVCRT_CHECK_PMT(dest != NULL)) return MSVCRT_EINVAL; + if (!MSVCRT_CHECK_PMT(src != NULL)) return MSVCRT_EINVAL; + if (!MSVCRT_CHECK_PMT_ERR( count <= numberOfElements, MSVCRT_ERANGE )) return MSVCRT_ERANGE; memmove(dest, src, count); return 0;