[PATCH] winecfg: Fix crash caused by calling set_reg_key with NULL value

Evan Stade estade at gmail.com
Sat Aug 4 00:10:39 CDT 2007


On 8/3/07, Nigel Liang <ncliang at gmail.com> wrote:
> diff --git a/programs/winecfg/winecfg.c b/programs/winecfg/winecfg.c
> index 84dd4c8..05f322c 100644
> --- a/programs/winecfg/winecfg.c
> +++ b/programs/winecfg/winecfg.c
> @@ -468,11 +468,15 @@ void set_reg_key(HKEY root, const char *
>
>      wpath = HeapAlloc(GetProcessHeap(), 0, (strlen(path)+1)*sizeof(WCHAR));
>      wname = HeapAlloc(GetProcessHeap(), 0, (strlen(name)+1)*sizeof(WCHAR));
> -    wvalue = HeapAlloc(GetProcessHeap(), 0, (strlen(value)+1)*sizeof(WCHAR));
>
>      MultiByteToWideChar(CP_ACP, 0, path, -1, wpath, strlen(path)+1);
>      MultiByteToWideChar(CP_ACP, 0, name, -1, wname, strlen(name)+1);
> -    MultiByteToWideChar(CP_ACP, 0, value, -1, wvalue, strlen(value)+1);
> +
> +    if (value)
> +    {
> +        wvalue = HeapAlloc(GetProcessHeap(), 0, (strlen(value)+1)*sizeof(WCHAR));
> +        MultiByteToWideChar(CP_ACP, 0, value, -1, wvalue, strlen(value)+1);
> +    }
>
>      set_reg_key_ex(root, wpath, wname, wvalue, REG_SZ);
>
> --
> 1.4.1
>
>
>
>

You need to initialize wvalue to NULL

-- 
Evan Stade



More information about the wine-devel mailing list