Added null check before copying InFeatureInfo, fixes RTX Remix

This commit is contained in:
cdozdil
2026-05-24 22:44:50 +03:00
parent ed3a74d5e1
commit b5eedb2529
3 changed files with 33 additions and 11 deletions
+9 -3
View File
@@ -139,7 +139,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_Init_Ext(unsigned long long InApp
const NVSDK_NGX_FeatureCommonInfo* InFeatureInfo)
{
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -222,7 +224,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_Init(unsigned long long InApplica
NVSDK_NGX_Version InSDKVersion)
{
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -263,7 +267,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_Init_ProjectID(const char* InProj
const NVSDK_NGX_FeatureCommonInfo* InFeatureInfo)
{
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
+9 -3
View File
@@ -152,7 +152,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init_Ext(unsigned long long InApp
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -233,7 +235,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init(unsigned long long InApplica
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -289,7 +293,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init_ProjectID(const char* InProj
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
+15 -5
View File
@@ -145,7 +145,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init_Ext2(
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -282,7 +284,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init_Ext(unsigned long long InAp
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -325,7 +329,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init_ProjectID_Ext(
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -373,7 +379,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init(unsigned long long InApplic
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);
@@ -416,7 +424,9 @@ NVSDK_NGX_VULKAN_Init_ProjectID(const char* InProjectId, NVSDK_NGX_EngineType In
LOG_FUNC();
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (InFeatureInfo != nullptr)
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
if (!_skipInit)
UpdateInitPaths(&localFeatureInfo);