msvcrt: do not overlap in strcpy (valgrind) (try 2)

André Hentschel nerv at dawncrow.de
Sat Oct 31 05:15:22 CDT 2009


Vitaliy Margolen schrieb:
> André Hentschel wrote:
>> diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
>> index 010e1a6..08eaf73 100644
>> --- a/dlls/msvcrt/math.c
>> +++ b/dlls/msvcrt/math.c
>> @@ -856,7 +856,7 @@ char * CDECL _ecvt( double number, int ndigits, int *decpt, int *sign )
>>      snprintf(data->efcvt_buffer, 80, "%.*le", prec - 1, number);
>>      /* take the decimal "point away */
>>      if( prec != 1)
>> -        strcpy( data->efcvt_buffer + 1, data->efcvt_buffer + 2);
>> +        memmove( data->efcvt_buffer + 1, data->efcvt_buffer + 2, strlen(data->efcvt_buffer) );
> You don't need additional strlen. You already have a length from snprintf
> (that's returned but not assigned to anything).
> 
> Vitaliy.
> 
> 
> 
thx again, really didnt got that.

-- 

Best Regards, André Hentschel



More information about the wine-devel mailing list