[#4346] Segmentation fault — Andrew Walrond <andrew@...>
FYI, just got this random unexpected crash
On 01 Feb 2005, at 07:33, Andrew Walrond wrote:
[#4360] Adding lastlog info to etc — "Berger, Daniel" <Daniel.Berger@...>
Hi all,
[#4368] 'when (cond):' causes SyntaxError — "NAKAMURA, Hiroshi" <nakahiro@...>
Hi,
[#4385] add color_set support to curses.c — Paul Duncan <pabs@...>
I'm not sure why this is missing from the Curses binding, but the
[#4392] HTTP Basic authentication for open_uri — Kent Sibilev <ksibilev@...>
Can somebody apply the following patch for open_uri in order to enable
[#4402] BUG: Struct.new(:a?).instance_methods — "Cs. Henk" <csaba-ml@...>
Hi, getting an ArgumentError with "NULL pointer given" doesn't seem to
[#4403] Re: Unknown OS X 10.2 Socket constants (+script to generate) — Sam Roberts <sroberts@...>
Quoteing matz@ruby-lang.org, on Tue, Feb 08, 2005 at 01:21:18PM +0900:
[#4427] Re: windows socket connection freeze — ville.mattila@...
[#4432] curses + threads = non-blocking getch — William Morgan <wmorgan-ruby-core@...>
Hello experts,
In article <20050214231544.GE26414@masanjin.net>,
[#4439] Thread-safe Ruby Status? — Vincent Isambart <vincent.isambart@...>
Hello,
[#4448] add persistent history to irb — "David A. Black" <dblack@...>
Hi --
[#4453] bug in IRB with $_ matching a range of regexps — Ryan Davis <ryand-ruby@...>
> % ruby -v
[#4468] Re: Strange argc check in stable snapshot — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#4475] Re: Strange argc check in stable snapshot — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#4479] Requesting addition to IRB (configurable standard output) — Sascha Ebach <se@...>
Hello,
Quoting se@digitale-wertschoepfung.de, on Fri, Feb 25, 2005 at 01:22:34AM +0900:
On 24 Feb 2005, at 19:51, Sam Roberts wrote:
Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 02:43:31AM +0900:
On 25 Feb 2005, at 16:03, Sam Roberts wrote:
Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 10:24:52AM +0900:
On 25 Feb 2005, at 18:55, Sam Roberts wrote:
Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 03:49:49PM +0900:
Re: Strange argc check in stable snapshot
Berger, Daniel wrote:
>>int main(int argc, char *argv[])
>>{
>> if (argc < 0)
>> return 0;
>> else
>> main(-1, 0);
>>}
>>
>>This is perfectly legal C. There's nothing special about
>>main() except
>>that the loader uses it as the entry point. Any other
>>function can call
>>it, including itself.
>>
>>The argc in question is nonnegative by convention only. Someone could
>>just make a mistake and call it with the wrong argument.
>>
>>Steve
>
> Not exactly what I meant, but I'll donate $100 anyway. I would consider
> specifying argc manually a BUG. At the very least, it's really crappy
> code and not the sort of thing I would make an explicit check for. I
> would force a change in the offending caller's code.
Of course it's a bug. That's what the test is for.
Two examples are getting confounded here. My only purpose in citing the
main() example was to show that even the case where everyone assumes
argc *cannot* be negative, it can. I can think of other ways to do it
with syntactically and semantically conforming but buggy code (e.g.,
off-by-one errors, typos), and just bad code (stack corruption).
The function under consideration here, however, is not main(), but a
part of the Ruby interpreter. If Matz and the other developers don't
make a mistake, it will never be called with invalid arguments. If Matz
decides that the probability of making that particular mistake is so low
as to not bother, that's reasonable... even though there's virtually
nothing you can do on a computer that's as fast as checking the sign of
an integer.
What's not reasonable is saying it can't happen. It can.
But to be a good sport about it, I'll donate $100 too. Let's make this
like a political fundraiser: $100 to participate in the thread. Any
takers? :-)
Steve