Skip to content

Commit 99261cc

Browse files
walaclenticularis39
authored andcommitted
rtla/utils: Fix loop condition in PID validation
The procfs_is_workload_pid() function iterates through a directory entry name to validate if it represents a process ID. The loop condition checks if the pointer t_name is non-NULL, but since incrementing a pointer never makes it NULL, this condition is always true within the loop's context. Although the inner isdigit() check catches the NUL terminator and breaks out of the loop, the condition is semantically misleading and not idiomatic for C string processing. Correct the loop condition from checking the pointer (t_name) to checking the character it points to (*t_name). This ensures the loop terminates when the NUL terminator is reached, aligning with standard C string iteration practices. While the original code functioned correctly due to the existing character validation, this change improves code clarity and maintainability. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Link: https://lore.kernel.org/r/20260309195040.1019085-19-wander@redhat.com Signed-off-by: Tomas Glozar <tglozar@redhat.com>
1 parent 5b6dc65 commit 99261cc

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tools/tracing/rtla/src/utils.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ static int procfs_is_workload_pid(const char *comm_prefix, struct dirent *proc_e
324324
return 0;
325325

326326
/* check if the string is a pid */
327-
for (t_name = proc_entry->d_name; t_name; t_name++) {
327+
for (t_name = proc_entry->d_name; *t_name; t_name++) {
328328
if (!isdigit(*t_name))
329329
break;
330330
}

0 commit comments

Comments
 (0)