Re: [RFC] Some useless cleanup

Erik Andersen (andersen@codepoet.org)
Thu, 9 May 2002 16:23:58 -0600


On Thu May 09, 2002 at 10:36:50PM +1000, Rusty Russell wrote:
> Um, why not simply:
>
> static inline void set_name(struct task_struct *tsk, const char *name)
> {
> /* comm is always nul-terminated already */
> strncpy(tsk->comm, name, sizeof(tsk->comm)-1);
> }
>
> Your implementation using snprintf is (wasteful and) dangerous,
> Rusty.

And both implementations suffer from the fact that if tsk->comm
were to change from a fixed length array to a char*, allowing
arbitrarily sized names, you would end up copying very little
indeed. :) What not something more general like:

char * safe_strncpy(char *dst, const char *src, size_t size)
{
dst[size-1] = '\0';
strncpy(dst, src, size-1);
}

-Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/