[PATCH 3/6] kernelbase: always return NULL in case of error in GetModuleHandleA (GCC11)

Zebediah Figura (she/her) zfigura at codeweavers.com
Tue Sep 28 13:03:33 CDT 2021


On 9/28/21 11:49, Eric Pouech wrote:
> Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
> 
> ---
>   dlls/kernelbase/loader.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/dlls/kernelbase/loader.c b/dlls/kernelbase/loader.c
> index da139e91176..57666d480da 100644
> --- a/dlls/kernelbase/loader.c
> +++ b/dlls/kernelbase/loader.c
> @@ -334,7 +334,7 @@ done:
>    */
>   HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA( LPCSTR module )
>   {
> -    HMODULE ret;
> +    HMODULE ret = NULL;
>   
>       GetModuleHandleExA( GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, module, &ret );
>       return ret;
> 
> 

That GCC is warning here implies that there is a path where 
GetModuleHandleExW() fails but doesn't clear its output parameter. 
Shouldn't that be fixed instead? Or, if not, shouldn't we be explicitly 
checking for failure from GetModuleHandleExA()?



More information about the wine-devel mailing list