P4 to Git Change 1772193 by mshivama@mshivama_tf on 2019/04/19 09:39:39

SWDEV-187020 -  Basic "Hello World" Tensorflow program fails to execute on HIP/VDI/PAL/LINUX

	the API hiDeviceGetName() should pass the length of device name as argument to strncpy() instead
	of total (dest) memory size which is being passed to it by its caller. Also, bit of a code clean-up.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_device.cpp#18 edit


[ROCm/hip commit: 7a1d02c8a1]
This commit is contained in:
foreman
2019-04-19 09:49:37 -04:00
parent ac0387e22f
commit 1e8f8da0d9
+7 -3
View File
@@ -110,15 +110,19 @@ hipError_t hipDeviceGetName(char *name, int len, hipDevice_t device) {
HIP_RETURN(hipErrorInvalidDevice);
}
if (name == nullptr) {
if (name == nullptr || len <= 0) {
HIP_RETURN(hipErrorInvalidValue);
}
auto* deviceHandle = g_devices[device]->devices()[0];
const auto& info = deviceHandle->info();
const auto nameLen = ::strlen(info.boardName_);
len = ((cl_uint)len < ::strlen(info.boardName_)) ? len : 128;
::strncpy(name, info.boardName_, len);
if (nameLen > (cl_uint)len) {
HIP_RETURN(hipErrorInvalidValue);
}
::strncpy(name, info.boardName_, nameLen);
HIP_RETURN(hipSuccess);
}