tools/latency-collector: Use correct size when writing queue_full_warning
authorViktor Rosendahl <Viktor.Rosendahl@bmw.de>
Tue, 19 Oct 2021 16:07:01 +0000 (18:07 +0200)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 26 Oct 2021 02:27:19 +0000 (22:27 -0400)
queue_full_warning is a pointer, so it is wrong to use sizeof to calculate
the number of characters of the string it points to. The effect is that we
only print out the first few characters of the warning string.

The correct way is to use strlen(). We don't need to add 1 to the strlen()
because we don't want to write the terminating null character to stdout.

Link: https://lkml.kernel.org/r/20211019160701.15587-1-Viktor.Rosendahl@bmw.de
Link: https://lore.kernel.org/r/8fd4bb65ef3da67feac9ce3258cdbe9824752cf1.1629198502.git.jing.yangyang@zte.com.cn
Link: https://lore.kernel.org/r/20211012025424.180781-1-davidcomponentone@gmail.com
Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Viktor Rosendahl <Viktor.Rosendahl@bmw.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
tools/tracing/latency/latency-collector.c

index 3a2e6bb..59a7f23 100644 (file)
@@ -1538,7 +1538,7 @@ static void tracing_loop(void)
                                mutex_lock(&print_mtx);
                                check_signals();
                                write_or_die(fd_stdout, queue_full_warning,
-                                            sizeof(queue_full_warning));
+                                            strlen(queue_full_warning));
                                mutex_unlock(&print_mtx);
                        }
                        modified--;