Improve handling of invalid input in dlls/comctl32/datetime.c
James McKenzie
jjmckenzie51 at earthlink.net
Fri Dec 25 15:04:28 CST 2009
Nikolay Sivov wrote:
> On 12/25/2009 14:18, Gerald Pfeifer wrote:
>> Otherwise max_count will be undefined in the following loop may do
>> interesting things it seems. (Does Coverity diagnose similar items?)
>>
>> Gerald
>>
>> ChangeLog:
>> Improve handling of invalid input in DATETIME_ReturnFieldWidth.
>>
>> diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c
>> index c240d4f..08c7082 100644
>> --- a/dlls/comctl32/datetime.c
>> +++ b/dlls/comctl32/datetime.c
>> @@ -38,6 +38,7 @@
>> * -- FORMATCALLBACK
>> */
>>
>> +#include<assert.h>
>> #include<math.h>
>> #include<string.h>
>> #include<stdarg.h>
>> @@ -619,6 +620,9 @@ DATETIME_ReturnFieldWidth (const DATETIME_INFO
>> *infoPtr, HDC hdc, int count, SHO
>> lctype = LOCALE_SMONTHNAME1;
>> max_count = 12;
>> break;
>> + default:
>> + assert(0);
>> + max_count=0;
>> }
>>
>> cx = 0;
>>
>
> Hi, Gerald.
>
> This can't even happen. spec if filtered later with:
> ---
> case THREECHARMONTH:
> case FULLMONTH:
> case THREECHARDAY:
> case FULLDAY:
> ---
> So no default case here.
>
Even if the default case cannot be reached, it is not a 'bad thing' to
have one, even if it is an error message stating "Something went wrong,
we should not get here" with an exit code...
James McKenzie
More information about the wine-devel
mailing list