[prev in list] [next in list] [prev in thread] [next in thread] 

List:       samba-technical
Subject:    Re: safe_strcpy
From:       Luke Kenneth Casson Leighton <lkcl () switchboard ! net>
Date:       1998-05-26 15:05:38
[Download RAW message or body]

> > > > 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
better].

luke

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic