Crash when fails to open sysfs file

When it fails to open sysfs file, it may crash. Modify the condition
to check the file descriptor after open the file.

Change-Id: I2acdc55f8194a2d734db20d16e1660a20ba09574
Цей коміт міститься в:
Bill(Shuzhou) Liu
2023-01-13 08:15:58 -06:00
джерело 4caded6dc4
коміт f19da1bb2c
+5 -5
Переглянути файл
@@ -129,21 +129,21 @@ amdsmi_status_t smi_amdgpu_get_board_info(amd::smi::AMDSmiGPUDevice* device, amd
FILE *fp;
fp = fopen(product_name_path.c_str(), "rb");
if (!fp) {
if (fp) {
fgets(info->product_name, sizeof(info->product_name), fp);
fclose(fp);
}
fp = fopen(product_number_path.c_str(), "rb");
if (!fp) {
if (fp) {
fgets(info->model_number, sizeof(info->model_number), fp);
fclose(fp);
}
fp = fopen(serial_number_path.c_str(), "rb");
if (!fp) {
if (fp) {
fscanf(fp, "%lx", &info->serial_number);
fclose(fp);
}
@@ -402,9 +402,9 @@ amdsmi_status_t smi_amdgpu_get_driver_version(amd::smi::AMDSmiGPUDevice* device,
std::string path = "/sys/module/amdgpu/version";
fp = fopen(path.c_str(), "r");
if (!fp){
if (fp){
fp = fopen("/proc/version", "r");
if (!fp) {
if (fp) {
status = AMDSMI_STATUS_IO;
return status;
}