mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
rtla: Ensure null termination after read operations in utils.c
Add explicit null termination and buffer initialization for read() operations in procfs_is_workload_pid() and get_self_cgroup() functions. The read() system call does not null-terminate the data it reads, and when the buffer is filled to capacity, subsequent string operations will read past the buffer boundary searching for a null terminator. In procfs_is_workload_pid(), explicitly set buffer[MAX_PATH-1] to '\0' to ensure the buffer is always null-terminated before passing it to strncmp(). In get_self_cgroup(), use memset() to zero the path buffer before reading, which ensures null termination when retval is less than MAX_PATH. Additionally, set path[MAX_PATH-1] to '\0' after the read to handle the case where the buffer is filled completely. These defensive buffer handling practices prevent potential buffer overruns and align with the ongoing buffer safety improvements across the rtla codebase. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Link: https://lore.kernel.org/r/20260106133655.249887-17-wander@redhat.com Signed-off-by: Tomas Glozar <tglozar@redhat.com>
This commit is contained in:
parent
af2962d68b
commit
33e3c807ab
|
|
@ -317,6 +317,7 @@ static int procfs_is_workload_pid(const char *comm_prefix, struct dirent *proc_e
|
|||
if (retval <= 0)
|
||||
return 0;
|
||||
|
||||
buffer[MAX_PATH-1] = '\0';
|
||||
retval = strncmp(comm_prefix, buffer, strlen(comm_prefix));
|
||||
if (retval)
|
||||
return 0;
|
||||
|
|
@ -750,6 +751,7 @@ static int get_self_cgroup(char *self_cg, int sizeof_self_cg)
|
|||
if (fd < 0)
|
||||
return 0;
|
||||
|
||||
memset(path, 0, sizeof(path));
|
||||
retval = read(fd, path, MAX_PATH);
|
||||
|
||||
close(fd);
|
||||
|
|
@ -757,6 +759,7 @@ static int get_self_cgroup(char *self_cg, int sizeof_self_cg)
|
|||
if (retval <= 0)
|
||||
return 0;
|
||||
|
||||
path[MAX_PATH-1] = '\0';
|
||||
start = path;
|
||||
|
||||
start = strstr(start, ":");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user