This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Refactor rust-demangle to be independent of C++ demangling.


On Wed, Oct 23, 2019 at 07:28:48PM +0200, Jakub Jelinek wrote:
> On Wed, Oct 23, 2019 at 12:19:10PM -0500, Segher Boessenkool wrote:
> > I of course know that for e.g. strcmp or strlen we need to be careful of
> > page crossings; but this is strncmp, which has a size argument saying the
> > size of the array objects of its arguments!
> 
> https://pubs.opengroup.org/onlinepubs/009695399/functions/strncmp.html
> The strncmp() function shall compare not more than n bytes
> (bytes that follow a null byte are not compared)
> from the array pointed to by s1 to the array pointed to by s2.
> 
> In particular the second line.
> 
> Similarly C11 7.24.4.4:
> The strncmp function compares not more than n characters (characters that follow a
> null character are not compared) from the array pointed to by s1 to the array pointed to
> by s2.
> 
> Similarly C99.

Yes, and that does not say you cannot read more characters.  It also does
not say it compares the strings pointed to, it explicitly says characters
from the array pointed to.


Segher


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]