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/
This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:49 EST