Esme Povirk (@madewokherd) commented about dlls/gdiplus/tests/image.c:
todo_wine expect(Win32Error, stat);
- for(i=0; i < ARRAY_SIZE(effectlist); i++) + param_size = 0; + stat = pGdipGetEffectParameterSize(NULL, ¶m_size); + expect(InvalidParameter, stat); + expect(0, param_size); + + for (i = 0; i < ARRAY_SIZE(td); i++) { - stat = pGdipCreateEffect(*effectlist[i], &effect); - todo_wine expect(Ok, stat); + stat = pGdipCreateEffect(*(td[i].effect), &effect); + todo_wine_if(td[i].todo) expect(Ok, stat); + + stat = pGdipGetEffectParameterSize(effect, ¶m_size);
If `GdipCreateEffect` doesn't zero `effect` in case of failure, `effect` will be used uninitialized here. This will be a problem when `GdipGetEffectParameterSize` is implemented in Wine. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4658#note_55608