[PATCH 0/2] MR95: combase: Try loading WinRT activatable classes from the activation context path.

Huw Davies (@huw) wine at gitlab.winehq.org
Thu May 19 04:22:43 CDT 2022


Huw Davies (@huw) commented about dlls/combase/roapi.c:
>  
>      *out = NULL;
>  
> +    /* search activation context first */
> +    data.cbSize = sizeof(data);
> +    if (FindActCtxSectionStringW(FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX, NULL,
> +            ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES, classid, &data))
> +    {
> +        struct activatable_class_data *activatable_class = (struct activatable_class_data *)data.lpData;
> +        void *ptr = (BYTE *)data.lpSectionBase + activatable_class->module_offset;
> +        *out = wcsdup(ptr);
This is allocating with malloc() while the other branch uses the process heap.  It wouldn't be a bad idea to move the function over to malloc() first.

-- 
https://gitlab.winehq.org/wine/wine/-/merge_requests/95#note_1009



More information about the wine-devel mailing list