ftrace: Copy ftrace_graph_filter boot param using strlcpy
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 14 Oct 2009 18:43:39 +0000 (20:43 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Wed, 14 Oct 2009 18:43:39 +0000 (20:43 +0200)
We are using strncpy in the wrong way to copy the ftrace_graph_filter
boot param because we pass the buffer size instead of the max string
size it can contain (buffer size - 1). The end result might not be
NULL terminated as we are abusing the max string size.

Lets use strlcpy() instead.

Reported-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ftrace.c

index aaea9cda8781276a4f3d71d47089d1b0a7adb71e..b10c0d90a6ff96e465cc2bd2a8c01c4cd06a7ad4 100644 (file)
@@ -2293,7 +2293,7 @@ __setup("ftrace_filter=", set_ftrace_filter);
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 static int __init set_graph_function(char *str)
 {
-       strncpy(ftrace_graph_buf, str, FTRACE_FILTER_SIZE);
+       strlcpy(ftrace_graph_buf, str, FTRACE_FILTER_SIZE);
        return 1;
 }
 __setup("ftrace_graph_filter=", set_graph_function);