[PATCH] trace-cruncher: Fix get_comm_from_pid()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 src/ftracepy-utils.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

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)
-- 
2.30.2




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux