ieee1275: Fix crash in of_path_of_nvme when of_path is empty

The of_path_of_nvme function (commit 2391d57, ieee1275: add nvme
support within ofpath) introduced a functional regression:

On systems which are not based on Open Firmware but have at
least one NVME device, find_obppath will return NULL and thus
trying to append the disk name to of_path will result in a
crash.

The proper behavior of of_path_of_nvme is, however, to just
return NULL in such cases, like other users of find_obppath,
such as of_path_of_scsi.

Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Reviewed-by: Eric Snowberg <eric.snowberg@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
John Paul Adrian Glaubitz 2018-03-01 23:34:53 +01:00 committed by Daniel Kiper
parent 413f1e13e6
commit 25b2b22d54
1 changed files with 4 additions and 1 deletions

View File

@ -389,8 +389,11 @@ of_path_of_nvme(const char *sys_devname __attribute__((unused)),
}
of_path = find_obppath (sysfs_path);
if (of_path)
strcat (of_path, disk);
free (sysfs_path);
strcat (of_path, disk);
return of_path;
}