[7213] in bugtraq

home help back first fref pref prev next nref lref last post

Re: ncurses 4.1 security bug

daemon@ATHENA.MIT.EDU (Warner Losh)
Fri Jul 10 12:16:02 1998

Date: 	Thu, 9 Jul 1998 14:23:28 -0600
Reply-To: Warner Losh <imp@VILLAGE.ORG>
From: Warner Losh <imp@VILLAGE.ORG>
X-To:         Alan Cox <alan@LXORGUK.UKUU.ORG.UK>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  Your message of "Wed, 08 Jul 1998 15:53:27 BST." 
              <m0ytvb6-000aQFC@the-village.bc.nu>

In message <m0ytvb6-000aQFC@the-village.bc.nu> Alan Cox writes:
: C++ global object constructors are called in pretty much arbitary
: order before main() is entererd.

That's not entirely correct.  C++ global object constructors need to be
initialized before they are referenced, even if they are in a
dynamically linked in library.  This is traditionally done with a call
to _main() as the first thing in main().

However, that nit-picking aside, you are correct that you cannot
predict when the ctors will be called.

: Its an interesting reason not to write setuid apps in C++ 8)

Or just don't use global objects that have ctors.  It is arguably bad
form anyway :-).  Well, you could use global objects, so long as they
don't need to do privileged things, or carelessly rely on user input..

Warner

home help back first fref pref prev next nref lref last post