diff --git a/source/lib/rocprofiler-sdk/agent.cpp b/source/lib/rocprofiler-sdk/agent.cpp index 619be01b1c..a0ec6827fa 100644 --- a/source/lib/rocprofiler-sdk/agent.cpp +++ b/source/lib/rocprofiler-sdk/agent.cpp @@ -708,9 +708,12 @@ read_topology() agent_info.name = common::get_string_entry(fmt::format("gfx{}{}{:x}", major, minor, step)) ->c_str(); - agent_info.product_name = - common::get_string_entry(amdgpu_get_marketing_name(device_handle))->c_str(); - agent_info.vendor_name = common::get_string_entry("AMD")->c_str(); + + const char* marketing_name = amdgpu_get_marketing_name(device_handle); + if(marketing_name == nullptr) marketing_name = "unknown"; + + agent_info.product_name = common::get_string_entry(marketing_name)->c_str(); + agent_info.vendor_name = common::get_string_entry("AMD")->c_str(); amdgpu_gpu_info gpu_info = {}; if(amdgpu_query_gpu_info(device_handle, &gpu_info) == 0)