Re: Compiler error in necpp

Manfred Hollstein <[email protected]> Mon, 16 Nov 2009 22:06:08 +0100
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Moin,

On Mon, 16 Nov 2009, 21:04:40 +0100, Sascha 'saigkill' Manns wrote:
> Servus,
> 
> > >c_geometry.cpp:712: warning: 'delz' may be used uninitialized in
> > > this
> > 
> > Das sagt der Compiler, wenn im Code nicht direkt zu erkennen ist, ob
> > die betreffende Variable initialisiert wird bevor sie genutzt wird.
> Wie kann ich delz initialisieren? #include <delz>?

Ist die Frage wirklich ernst gemeint? Ich schlage echt vor, dass du dir
bei solchen Themen tatsaechlich mal ein entsprechendes Buch kaufst...
Schlagzeilen der Art "New exploit found for security issue xyz in abc"
ruehren tatsaechlich auch von solchen Problemen her. Wenn delz z.B. vom
Typ "int" ist, dann sollte eine Initialisierung der Art:

  int delz = -1;

helfen, damit z.B. in solchen Code-Sequenzen kein Muell passiert:

  for (i = 0; i <= delz; ++i)
    buf[i] = foobar[delz + i];

Wenn hier naemlich delz nicht initialisiert waere, dann ist's davon
abhaengig, was hier an der aktuellen Position im Stack steht, an dem
"delz" in der aktuellen Funktion angelegt ist, und damit, wie lange die
Schleife tatsaechlich laeuft - und damit, welche Speicherbereiche damit
ueberschrieben wuerden...

Sorry, aber Fehler sollte man nur versuchen zu korrigieren, wenn man
auch wirklich versteht, was man da tut.

Cheers.

l8er
manfred