diff mbox series

trace-cruncher: Fix get_comm_from_pid()

Message ID 20210917151624.574040-1-y.karadz@gmail.com (mailing list archive)
State Superseded
Headers show
Series trace-cruncher: Fix get_comm_from_pid() | expand

Commit Message

Yordan Karadzhov Sept. 17, 2021, 3:16 p.m. UTC
Make sure that the buffer string is properly initialized and that
the new line at the end is removed.

Fixes: defe053 (trace-cruncher: Add generic methods for printing)
SignedFixes: -off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
---
 src/ftracepy-utils.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/src/ftracepy-utils.c b/src/ftracepy-utils.c
index 58f543a..7b1ff1b 100644
--- a/src/ftracepy-utils.c
+++ b/src/ftracepy-utils.c
@@ -384,10 +384,16 @@  static bool init_print_seq(void)
 	return true;
 }
 
+static inline void trim_new_line(char *val)
+{
+	if (val[strlen(val) - 1] == '\n')
+		val[strlen(val) - 1] = '\0';
+}
+
 static char *get_comm_from_pid(int pid)
 {
 	char *comm_file, *comm = NULL;
-	char buff[PATH_MAX];
+	char buff[PATH_MAX] = {0};
 	int fd, r;
 
 	if (asprintf(&comm_file, "/proc/%i/comm", pid) <= 0) {
@@ -409,6 +415,7 @@  static char *get_comm_from_pid(int pid)
 	if (r <= 0)
 		return NULL;
 
+	trim_new_line(buff);
 	comm = strdup(buff);
 	if (!comm)
 		MEM_ERROR;
@@ -654,11 +661,6 @@  static int read_from_file(struct tracefs_instance *instance,
 	return size;
 }
 
-static inline void trim_new_line(char *val)
-{
-	val[strlen(val) - 1] = '\0';
-}
-
 static bool write_to_file_and_check(struct tracefs_instance *instance,
 				    const char *file,
 				    const char *val)