On 11/17/2010 02:00, Adam Martinson wrote:
--- dlls/msxml3/tests/domdoc.c | 4 ++-- dlls/oleaut32/variant.c | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-)
If oleaut32 needs a fix like this, please add a test for it in oleaut32/tests, fixed msxml tests will be a side effect.
*/ BOOL bOverflow = FALSE, bNegative; ULONG64 ul64 = 0;
You don't need this initialization now.
+ char tmp[1024], *end; Does this buffer size really make sense if you're getting ULONG64 from this string? int i;
/* Convert the integer part of the number into a UI8 */ - for (i = 0; i< wholeNumberDigits; i++) + for (i = 0; i< wholeNumberDigits; ++i) + tmp[i] = rgbDig[i] + '0'; + tmp[wholeNumberDigits] = 0; + + ul64 = strtoull(tmp,&end, 10); + if (end !=&tmp[wholeNumberDigits]) { - if (ul64> (UI8_MAX / 10 - rgbDig[i])) - { - TRACE("Overflow multiplying digits\n"); - bOverflow = TRUE; - break; - } - ul64 = ul64 * 10 + rgbDig[i]; + TRACE("Overflow reading digits\n"); + bOverflow = TRUE; }