Explorar o código

sh: fix format string bug in stack tracer

Kees reported the following error:

   arch/sh/kernel/dumpstack.c: In function 'print_trace_address':
   arch/sh/kernel/dumpstack.c:118:2: error: format not a string literal and no format arguments [-Werror=format-security]

Use the "%s" format so that it's impossible to interpret 'data' as a
format string.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Reported-by: Kees Cook <keescook@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Matt Fleming %!s(int64=11) %!d(string=hai) anos
pai
achega
a0c32761e7
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      arch/sh/kernel/dumpstack.c

+ 1 - 1
arch/sh/kernel/dumpstack.c

@@ -115,7 +115,7 @@ static int print_trace_stack(void *data, char *name)
  */
  */
 static void print_trace_address(void *data, unsigned long addr, int reliable)
 static void print_trace_address(void *data, unsigned long addr, int reliable)
 {
 {
-	printk(data);
+	printk("%s", (char *)data);
 	printk_address(addr, reliable);
 	printk_address(addr, reliable);
 }
 }