Messages in this thread | | | Date | Mon, 13 Jan 2003 23:15:14 -0500 | From | Jeff Garzik <> | Subject | Re: [PATCH] [TRIVIAL] kstrdup |
| |
On Mon, Jan 13, 2003 at 10:53:32PM -0500, Valdis.Kletnieks@vt.edu wrote: > That's cool, long as everybody agrees on that - I've already filled my career > quota of chasing down bugs due to non-threadsafe use of str*() functions. ;)
Don't worry, it's pretty much a rule in Linux, IMO. Synchronization belongs _above_ simple data type primitives like strings or lists.
That's why answering your email was quick and easy ;-) The Linux answer is "don't do that" :)
> All the same, I'd probably feel better if it used strncpy() instead - there'd > still be the possibility of copying now-stale data, but at least you'd not be > able to walk off the end of the *new* array's allocated space....
_Not_ doing things like this is a reason why Linux is so fast in certain areas :) Linus preaches over and over, "do what you need to do, and no more."
But having said that -- see my mail to Rusty about storing the strlen() result and then calling memcpy(). It [purposefully] does not address the fact that the string may become stale data, because it's the job of a higher level to ensure that. But it does make explicit a compiler temporary, and allows us to use the presumeably-faster memcpy().
Not that kstrdup() matters a whole lot, but anyway...
Jeff
- 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/
| |