[PATCH 3/7] reg: Fail if the data for REG_DWORD cannot be converted into a DWORD
Hugh McMaster
hugh.mcmaster at outlook.com
Mon Feb 15 00:21:32 CST 2016
On Mon, 15 Feb 2016 13:59:04 +0900, Alexandre Julliard wrote:
>
> Hugh McMaster writes:
>
>> @@ -376,6 +376,12 @@ static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
>> if (data)
>> reg_data = get_regdata(data,reg_type,separator,®_count);
>>
>> + if (!reg_data && reg_type == REG_DWORD)
>> + {
>> + RegCloseKey(subkey);
>> + return 1;
>> + }
>
> Shouldn't this fail for other types too?
Probably -- but I haven't looked at them yet.
REG_DWORD_LITTLE_ENDIAN and REG_BINARY would most likely cause a failure.
If they do, I'll use a switch with fall-through cases to handle the clean-up and exit.
The common registry string types -- REG_SZ, REG_MULTI_SZ and REG_EXPAND_SZ --
don't fail in this way. Based on the tests we have, the Windows version just copies
the string data to the registry as appropriate.
--
Hugh McMaster
More information about the wine-devel
mailing list