3 Sep
2024
3 Sep
'24
7:37 p.m.
Rémi Bernon (@rbernon) commented about dlls/win32u/sysparams.c:
+ status = NtGdiDdDDIEnumAdapters2( &desc2 ); + + if (status) return status; + + desc2.pAdapters = calloc( desc2.NumAdapters, sizeof(D3DKMT_ADAPTERINFO) ); + + status = NtGdiDdDDIEnumAdapters2( &desc2 ); + + if (status) return status; + + desc->NumAdapters = min( MAX_ENUM_ADAPTERS, desc2.NumAdapters ); + memcpy( desc->Adapters, desc2.pAdapters, desc->NumAdapters * sizeof(D3DKMT_ADAPTERINFO) ); + + free( desc2.pAdapters ); + + return status;
if ((status = NtGdiDdDDIEnumAdapters2( &desc2 ))) return status;
if (!(desc2.pAdapters = calloc( desc2.NumAdapters, sizeof(*desc2.pAdapters) ))) return STATUS_NO_MEMORY;
if (!(status = NtGdiDdDDIEnumAdapters2( &desc2 )))
{
desc->NumAdapters = min( MAX_ENUM_ADAPTERS, desc2.NumAdapters );
memcpy( desc->Adapters, desc2.pAdapters, desc->NumAdapters * sizeof(*desc->Adapters) );
}
free( desc2.pAdapters );
return status;
Lets save some lines, and avoid leaks. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6440#note_80939