discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUstep with GCC 4.9.1


From: David Chisnall
Subject: Re: GNUstep with GCC 4.9.1
Date: Fri, 29 Aug 2014 09:25:00 +0100

On 29 Aug 2014, at 08:31, Wolfgang Lux <wolfgang.lux@gmail.com> wrote:

> it is rather surprising that you didn't see this crash with another compiler 
> before. The problem is clearly in this frame:
>  #4  0x0804c4bf in +[Clock initialize] () at Clock.m:53
> The statement at that line is
>       dayWeek = [NSArray 
> arrayWithObjects:@"su",@"mo",@"tu",@"we",@"th",@"fr",@"sa"];
> The argument list lacks the nil sentinel to indicate where the list of 
> objects ends.

Given that it's in +initialize, called early on with a relatively deep stack, 
there's a good chance that the stack is zero'd when it's called, so it could 
probably work reliably for quite a while.

I wonder how difficult it would be to have mmap MAP_STACK return pages filled 
with a number other than zero, to quickly catch this kind of bug...

David

P.S. Both clang and gcc support an attribute that indicates that a variadic 
function should have a null terminator.  We can avoid this kind of error if we 
add them to our headers...

-- Sent from my brain




reply via email to

[Prev in Thread] Current Thread [Next in Thread]