On 09/15/10 17:45, Paolo Bonzini wrote:
> On 09/15/2010 02:23 PM, jes.soren...@redhat.com wrote:
>>       switch (*endptr++) {
>>       case 'K':
>>       case 'k':
>>           value<<= 10;
>>           break;
>>       case 0:
>> +        if (divider) {
>> +            value = 0;
>> +            break;
>> +        }
>>       case 'M':
>>       case 'm':
>>           value<<= 20;
>> @@ -284,9 +306,12 @@ uint64_t strtobytes(const char *nptr, char **end)
>>       default:
>>           value = 0;
>>       }
>> +    if (divider)
>> +        value /= divider;
>>
> 
> This risks overflow if you do 1.00000000000000G or something similarly
> braindead.  Do we loathe floating point so much that you cannot use
> strtod, like

Floating point is just plain wrong. If someone wants to do something
like in your example they really ask for an error.

Jes


Reply via email to