mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
ipl_tools/cmd_lsreipl.c: Construct sysfs paths with util_path_sysfs()
The default sysfs path is always set to '/sys' unless the SYSFS_ROOT environment variable is defined. To address security concerns, secure_getenv() is used within util_path_sysfs() to protect against malicious values in SYSFS_ROOT. Additionally, constructing the sysfs path dynamically in an allocated buffer, rather than using a fixed-size buffer, helps prevent potential buffer overflows. These modifications also significantly improve testability by allowing sysfs read operations to be redirected to an alternative file path, which enables testing without affecting the active system state. Signed-off-by: Jan Polensky <japo@linux.ibm.com> Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
594a554e56
commit
aea2ba8728
+2
-2
@@ -9,7 +9,7 @@
|
||||
* it under the terms of the MIT license. See LICENSE for details.
|
||||
*/
|
||||
|
||||
#include "lib/util_libc.h"
|
||||
#include "lib/util_path.h"
|
||||
#include "ipl_tools.h"
|
||||
|
||||
/*
|
||||
@@ -84,7 +84,7 @@ void read_fw_str(char *string, const char *file, size_t len)
|
||||
{
|
||||
char *path;
|
||||
|
||||
util_asprintf(&path, "/sys/firmware/%s", file);
|
||||
path = util_path_sysfs("firmware/%s", file);
|
||||
read_str(string, path, len);
|
||||
free(path);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user