Luke Kenneth Casson Leighton
lkcl at switchboard.net
Tue May 26 15:02:56 GMT 1998
> > > > if the string length is _exactly_ the length of the buffer, is it
> > > > deliberately non-null-terminated?
> > > safe_strcpy never leaves a string non-null
> > > terminated.
> > > If the string length is exactly the length
> > > of the buffer then it's an overflow by one
> > > (because of the expected null).
> > > Always pass buffer_len-1
> > ??? -1????
> > damn, that's counter-intuitive.
> Yeah, it really is.
> It also runs contrary to the way things like fgets work where the
> length is the length of the buffer and if you get a line longer than the
> buffer it only puts length - 1 bytes in the buffer and null terminates it
> at buffer[length]. IMHO - that makes more sense.
> The fgets way is also safer. By safer, I'm referring to what happens
can this be addressed, please?
[i prefer, personally, to have safe_strcpy etc passed sizeof(buffer) not
sizeof(buffer)-1 because it looks neater. if that translates in other
people's language into "more intuitive" or better "safer for technical
reasons like the ones stated above" or "there is a precedant for this kind
of function which it is strongly advised that samba development follows,
in order to cause less problems for future developers" then all the
More information about the samba-technical