Subject: Re: 'Safe' string copy: strlcpy() or strncpy() ?
To: Johan Danielsson <joda@pdc.kth.se>
From: Jaromír Dolecek <dolecek@ics.muni.cz>
List: tech-userlevel
Date: 01/26/2001 23:26:11
Johan Danielsson wrote:
> > Separate, though related question: should old code be converted to
> > use strlcpy() instead of strncpy() ?
> 
> I don't think you should put too much effort into a mass conversion
> project. The problem with this is that you are quite likely to get it
> wrong in many places, like the
> 
>         strcpy(foo, bar) -> strlcpy(foo, bar, sizeof(foo)) 
> 
> conversion for `char *foo'.

Yes, conversions like these have to be done with extreme care.

> There are places where the strncpy
> behaviour is really used, even if they are not that common.

Yeah, and it's quite often not easy to say off-hand if it's the
case or not, like strncpy() usage in

* usr.bin/login/login.c when writing the utmp record
* usr.bin/skeyinit/skeyinit.c when copying skey.seed to defaultseed

and stuff like those elsewhere.

Jaromir
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
@@@@  Wanna a real operating system ? Go and get NetBSD, dammit!  @@@@