On Tue, 2013-12-17 at 10:27 -0800, Kees Cook wrote:
> This makes sure format strings cannot leak into the printk call via the
> constructed buffer.
[]
> diff --git a/drivers/scsi/esas2r/esas2r_log.c 
> b/drivers/scsi/esas2r/esas2r_log.c
[]
> @@ -171,7 +171,7 @@ static int esas2r_log_master(const long level,
>               if (strlen(event_buffer) < buflen)
>                       strcat(buffer, "\n");
>  
> -             printk(event_buffer);
> +             printk("%s", event_buffer);

It's probably better to remove the

                if (strlen(event_buffer) < buflen)
                        strcat(buffer, "\n");

and use

        printk("%s\n", event_buffer);

so that the output is always newline terminated.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to