diff --git a/opencl/api/opencl/khronos/icd/icd_windows_dxgk.c b/opencl/api/opencl/khronos/icd/icd_windows_dxgk.c index b1c4d562a6..adf66ad2e2 100644 --- a/opencl/api/opencl/khronos/icd/icd_windows_dxgk.c +++ b/opencl/api/opencl/khronos/icd/icd_windows_dxgk.c @@ -91,6 +91,11 @@ bool khrIcdOsVendorsEnumerateDXGK(void) QueryAdapterInfo.pPrivateDriverData = &QueryArgs; QueryAdapterInfo.PrivateDriverDataSize = sizeof(QueryArgs); Status = D3DKMTQueryAdapterInfo(&QueryAdapterInfo); + if (!NT_SUCCESS(Status)) + { + if (pAdapterInfo) free(pAdapterInfo); + return FALSE; + } if (NT_SUCCESS(Status) && pQueryArgs->Status == D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW) { unsigned int QueryBufferSize = sizeof(D3DDDI_QUERYREGISTRY_INFO) + QueryArgs.OutputValueSize;