ksym_tracer: NIL-terminate user input filter
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 7 Jul 2009 05:54:08 +0000 (13:54 +0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 10 Jul 2009 09:59:42 +0000 (11:59 +0200)
Make sure the user input string is NULL-terminated.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: "K.Prasad" <prasad@linux.vnet.ibm.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <4A52E300.7020601@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_ksym.c

index 72fcb46..8cbed5a 100644 (file)
@@ -264,11 +264,7 @@ static ssize_t ksym_trace_filter_write(struct file *file,
        unsigned long ksym_addr = 0;
        int ret, op, changed = 0;
 
-       /* Ignore echo "" > ksym_trace_filter */
-       if (count == 0)
-               return 0;
-
-       input_string = kzalloc(count, GFP_KERNEL);
+       input_string = kzalloc(count + 1, GFP_KERNEL);
        if (!input_string)
                return -ENOMEM;
 
@@ -276,6 +272,7 @@ static ssize_t ksym_trace_filter_write(struct file *file,
                kfree(input_string);
                return -EFAULT;
        }
+       input_string[count] = '\0';
 
        ret = op = parse_ksym_trace_str(input_string, &ksymname, &ksym_addr);
        if (ret < 0) {