Re: int main(void) { return main(); }



At about the time of 3/29/2007 12:52 PM, Army1987 stated the following:
"Lew Pitcher" <lpitcher@xxxxxxxxxxxx> ha scritto nel messaggio
news:1175196417.169883.91080@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Eric answered your question, and I have a guess about the why part.
Probably, since each call has to store the return address, you ran out
of automatic storage.
It is more likely that the loop
for (i=0; malloc(dim); i++) /*nothing*/ ;
exhausted available 'heap' memory, and the system (what-ever that is
wrt CLC <wink>) forcibly terminated the program.

I guess he was referring to the program in the object line, not to that in
the signature.

<ot>
BTW, I tried something very similar to that (signature) on a terminal logged
on a workstation (running on CentOS) at university, and in a short time it
raised an exception such as "Panic in 5 seconds" or something like that,
crashing the server and receiving curses from the other users who were
logged. A professor was sent to reboot the server as nobody else knew where
it was physically located. (Actually, I didn't expect that the OS *actually*
permitted me to do so rather than killing the process or making the malloc
return NULL. Taking into account that I didn't even have root privileges...)

LOL

What was the fallout from that? Considering that you weren't even root,
did they know it was you who did it?

Most modern operating systems that use memory protection are protected
enough so if a program goes out of control, the OS kills it in short
order. Even programs ran under UID 0 (root) can't really crash the
system on their own. Now something like

dd if=/dev/random of=dev/kmem bs=1024

will kill the system in short order.

--
Daniel Rudy

Email address has been base64 encoded to reduce spam
Decode email address using b64decode or uudecode -m

Why geeks like computers: look chat date touch grep make unzip
strip view finger mount fcsk more fcsk yes spray umount sleep
.



Relevant Pages

  • Re: end of array
    ... I will probably get a segmentation fault or a memory fault. ... it could keep running depending on what was accessed at that ... Decode email address using b64decode or uudecode -m ... strip view finger mount fcsk more fcsk yes spray umount sleep ...
    (comp.lang.c)
  • Re: int main(void) { return main(); }
    ... A professor was sent to reboot the server as nobody else knew ... Taking into account that I didn't even have root ... Decode email address using b64decode or uudecode -m ... strip view finger mount fcsk more fcsk yes spray umount sleep ...
    (comp.lang.c)
  • RE: *weird* overflow error *after* API call; call works OK, but later simple steps fail
    ... one service request before. ... We finally found out the root cause by using ... I think the memory address of qqq is overrided by some ... MSDN subscriber package) Our support engineer could help you isolate the ...
    (microsoft.public.vc.debugger)
  • Re: strcpy giving sigsegv error
    ... the path that is taken to get to root. ... If you write on the memory of a quoted string literal, ... If you copy more than one character to path with strcpy(), ...
    (comp.unix.programmer)
  • Re: Corrupted IDE Flash storage
    ... the control panel applet is for the configuring the size object store. ... As your root is already mounted to external FS, it is really nothing about your storage. ... we use an IDE Flash memory mounted as root. ...
    (microsoft.public.windowsce.platbuilder)