Re: exit(0) oder nicht exit(0)

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 16 Aug 2006 09:29:46 +0200 (CEST)

Daniel Graupner wrote:
> Dominik Brettnacher wrote:
> > Daniel Graupner wrote:
> > > Hat jemand Ideen?
> >
> > Kannst Du ausschließen, dass irgendein Destruktor das Signal auslöst?

War auch meine erste Idee: ein Destruktor oder eine
atexit(3)-Funktion.

> Das war auch meine erste Idee. Aber die Destruktoren werden ja auch aufgerufen
> wenn ich exit(0) händisch rufe. Damit kann man wohl zeigen das es nicht
> irgendwelche Destruktoren sein können, da allein der Austausch
> von "return(0)" mit "exit(0)" das Programm ordnungsgemäß beenden lässt.

Ja, aber auf unterschiedliche Weise, z.B. sieht der Stack
in beiden Fällen ganz anders aus. Wenn Du also irgendwo
einen Bug hast (Pointer-bug, Buffer-overflow o.ä.), der
einen Teil des Stacks überschreibt (z.B. die Rücksprung-
adresse von main()), würde es das Phänomen exakt erklären.

Eine andere Erklärung gibt es IMHO nicht.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"It combines all the worst aspects of C and Lisp:  a billion different
sublanguages in one monolithic executable.  It combines the power of C
with the readability of PostScript."
        -- Jamie Zawinski, when asked: "What's wrong with perl?"
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 16 Aug 2006 - 09:31:28 CEST

search this site