On Mon, Sep 03, 2012 at 05:18:52PM +0200, rustyBSD wrote: > Le 03/09/2012 16:46, bert a ?crit : > > On Mon, Sep 03, 2012 at 04:37:42PM +0200, rustyBSD wrote: > >> /usr/src/sbin/disklabel/disklabel.c > >> lines: 333 & 1092 & 1096 > >> > >> Is this me, or these strncpy() may cause off-by-one > >> overflows ? > > No i'm wrong, but it's still better to use strlcpy
Unless, as in this case, the field being copied to is not a NUL terminated string. If there is room for a NUL, cool. Otherwise pack in as many characters as possible. .... Ken > > >> > >> In an use like this: > >> > >> strncpy(a, b, sizeof(a)); > >> > >> the null terminator will be added beyond the end of > >> a if b has the same size (or a larger size). > >> > >> Should use something like: > >> > >> strncpy(a, b, sizeof(a) - 1); > >> > > or, better yet, replaced by strlcpy(3)