Re: [PATCH 05/16] dynamic_debug: replace strcpy with strlcpy, in ddebug_setup_query()

From: Bart Van Assche
Date: Tue Dec 20 2011 - 03:08:47 EST


On Mon, Dec 19, 2011 at 10:12 PM, Jason Baron <jbaron@xxxxxxxxxx> wrote:
>
> From: Jim Cromie <jim.cromie@xxxxxxxxx>
>
> Replace strcpy with strlcpy, and add define for the size constant.
>
> [jbaron@xxxxxxxxxx: Use DDEBUG_STRING_SIZE for overflow check]
> Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
> ---
>  lib/dynamic_debug.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
> index 8c88b89..6fc8622 100644
> --- a/lib/dynamic_debug.c
> +++ b/lib/dynamic_debug.c
> @@ -525,14 +525,16 @@ EXPORT_SYMBOL(__dynamic_netdev_dbg);
>
>  #endif
>
> -static __initdata char ddebug_setup_string[1024];
> +#define DDEBUG_STRING_SIZE 1024
> +static __initdata char ddebug_setup_string[DDEBUG_STRING_SIZE];
> +
>  static __init int ddebug_setup_query(char *str)
>  {
> -       if (strlen(str) >= 1024) {
> +       if (strlen(str) >= DDEBUG_STRING_SIZE) {
>                pr_warn("ddebug boot param string too large\n");
>                return 0;
>        }
> -       strcpy(ddebug_setup_string, str);
> +       strlcpy(ddebug_setup_string, str, DDEBUG_STRING_SIZE);
>        return 1;
>  }

Sorry, but it's not clear to me why it make sense to introduce the
DDEBUG_STRING_SIZE macro instead of using ARRAY_SIZE().

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