From 0bb26e2025a294d5f610d11a6fdf4df20159487e Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sun, 29 Jun 2008 09:39:06 +0000 Subject: [PATCH] - Revert 22081 by Magnus Olsen: "fixing two hiden bug in reactos, null termante the string right at end, code tested in vs, but it seam no affact on wine test mscvrt printf test. What hell is the snprintf function call to ??". Instead of fixing "hidden bugs", it introduced a real very well hidden bug, which was overwriting the target buffer and thus corrupting everything starting from the heap, and ending with pools. It's possible to install and run OO2 Writer now. See issue #3311 for more details. svn path=/trunk/; revision=34180 --- reactos/lib/rtl/sprintf.c | 14 +------------- reactos/lib/rtl/swprintf.c | 16 ++-------------- 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/reactos/lib/rtl/sprintf.c b/reactos/lib/rtl/sprintf.c index c5db46f5333..a00ff412cf0 100644 --- a/reactos/lib/rtl/sprintf.c +++ b/reactos/lib/rtl/sprintf.c @@ -691,20 +691,8 @@ int __cdecl _vsnprintf(char *buf, size_t cnt, const char *fmt, va_list args) if (str <= end) *str = '\0'; else if (cnt > 0) - { /* don't write out a null byte if the buf size is zero */ - //*end = '\0'; - if (str-buf >cnt ) - { - *end = '\0'; - } - else - { - end++; - *end = '\0'; - } - - } + *end = '\0'; return str-buf; } diff --git a/reactos/lib/rtl/swprintf.c b/reactos/lib/rtl/swprintf.c index 064de5535f4..f4851e05b4d 100644 --- a/reactos/lib/rtl/swprintf.c +++ b/reactos/lib/rtl/swprintf.c @@ -689,21 +689,9 @@ int __cdecl _vsnwprintf(wchar_t *buf, size_t cnt, const wchar_t *fmt, va_list ar } if (str <= end) *str = L'\0'; - else if (cnt > 0) - { + else if (cnt > 0) /* don't write out a null byte if the buf size is zero */ - //*end = '\0'; - if (str-buf >cnt ) - { - *end = L'\0'; - } - else - { - end++; - *end = L'\0'; - } - - } + *end = L'\0'; return str-buf; }