[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120824102725.GH7585@arm.com>
Date: Fri, 24 Aug 2012 11:27:26 +0100
From: Catalin Marinas <catalin.marinas@....com>
To: Jim Meyering <jim@...ering.net>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Jim Meyering <meyering@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>
Subject: Re: [PATCH] kmemleak: avoid buffer overrun: NUL-terminate
strncpy-copied command
On Mon, Aug 20, 2012 at 05:55:22PM +0100, Jim Meyering wrote:
> From: Jim Meyering <meyering@...hat.com>
>
> strncpy NUL-terminates only when the length of the source string
> is smaller than the size of the destination buffer.
> The two other strncpy uses (just preceding) happen to be ok
> with the current TASK_COMM_LEN (16), because the literals
> "hardirq" and "softirq" are both shorter than 16. However,
> technically it'd be better to use strcpy along with a
> compile-time assertion that they fit in the buffer.
>
> Signed-off-by: Jim Meyering <meyering@...hat.com>
> ---
> mm/kmemleak.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/kmemleak.c b/mm/kmemleak.c
> index 45eb621..947257f 100644
> --- a/mm/kmemleak.c
> +++ b/mm/kmemleak.c
> @@ -555,6 +555,7 @@ static struct kmemleak_object *create_object(unsigned long ptr, size_t size,
> * case, the command line is not correct.
> */
> strncpy(object->comm, current->comm, sizeof(object->comm));
> + object->comm[sizeof(object->comm) - 1] = 0;
Does it really matter here? object->comm[] and current->comm[] have the
same size, TASK_COMM_LEN.
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists