.net Vulnerabillity

Diskutiere .net Vulnerabillity im Programmierung Forum im Bereich Software Forum; Hallo, Bin gerade auf ne Schwachstelle von .net gestoßen, während ich was am Coden war. Es handelt sich um einen StackOverflow: private void...
U

Ubuntu

Threadstarter
Mitglied seit
11.02.2010
Beiträge
27
Hallo,

Bin gerade auf ne Schwachstelle von .net gestoßen, während ich was am Coden war.

Es handelt sich um einen StackOverflow:
Code:
 private void main_FormClosed(object sender, FormClosedEventArgs e)
        {
this.Close();
}
Wäre cool wenn das ein paar von euch nachvollziehen könnten, und dann bestätigen?

Fehler wäre:
StackOverflow Exception was unhandled:
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
sonst könnt ihr das gerne M$ melden, bin zu faul dazu ;)

wäre cool wenn das ein paar probieren und bestätigen. thx!
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Tut mir leid, aber diesen Fehler kannst du in JEDER Programmiersprache erzeugen. Es handelt sich hierbei um keine Schwachstelle sondern um einen Programmierfehler. ;)

Du rufst hier eine Methode rekursiv auf und das unendlich oft, was dazu führt, dass der Call-Stack deiner Anwendung überläuft. Der Stack ist ja kein unendlich großer Speicher und sehr schnell voll.

This.Close() führt nämlich zur Auslösung aller Methoden, die mit dem Ereignis Form.Closed() verbunden sind. In diesem Fall ist es deine main_FormClosed()-Methode. In dieser rufst du indirekt deine Methode immer und immer wieder über dieses Ereignis auf.

...mal davon abgesehen, dass es unsinnig ist, eine Form die meldet, dass sie bereits geschlossen ist, nochmal zu schließen. :p
 
U

Ubuntu

Threadstarter
Mitglied seit
11.02.2010
Beiträge
27
Das ist mir natürlich klar, aber sowas gehört doch Microsoft mitgeteilt?

Ich denke, die setzten alles daran um die .net Sprache gegen solche Dinge abzusichern?

Ist klar das es zu einem StackOv. führt wenn ich x mal die selbe Methode calle, dachte nur dass man sowas vielleicht Microsoft mitteilt?
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
@Ubuntu:
Also den Leuten bei Microsoft ist das ganz bestimmt bekannt. Was es damit auf sich hat, lernt eigentlich jeder Programmierer während seiner Ausbildung. Dieser Programmierfehler lässt sich in jeder Sprache erzeugen.

Außerdem ist es ja nicht .NET, dass da einen Fehler erzeugt, sondern DEIN Programm. ;)

Die .NET-Sprachen nehmen einem Programmierer zwar sehr viel ab, aber was soll es den deiner Meinung nach tun, wenn du mehr Speicher anforderst, als das System zur Verfügung stellt? Dein Code würde ja noch unendlich lange laufen. Deshalb wird eine Exception (Ausnahme) ausgelöst, die dein Programm aber nicht behandelt, deshalb stürzt dein Programm ab.

Beim Kompilieren lässt sich so etwas auch nicht erkennen. Da müsste man schon Rekursionen verbieten und das wäre praktisch ein Todesstoß für eine Programmiersprache, da es viele Algorithmen gibt, die auf das Prinzip der endlichen (!) Rekursion aufbauen.
 
H

HWFlo

Mitglied seit
04.09.2005
Beiträge
5.271
Alter
31
Sie tatsache das eine Exception ausgelöst wird und der Stack nicht weiter in den Speicher schreibt zeigt ja gerade das hier "mitgedacht" wurde ;)
 
Thema:

.net Vulnerabillity

.net Vulnerabillity - Ähnliche Themen

  • Probleme bei der Installation von .NET Framework(jegliche Version)

    Probleme bei der Installation von .NET Framework(jegliche Version): Schönen guten Tag, Ich habe heute ,mich dazu entschieden, mein .NET Framework zu updaten, da ein Programm welches ich Installieren wollte, meinte...
  • Alle .NET Anwendungen stürzen ab

    Alle .NET Anwendungen stürzen ab: Hallo. Ich habe seit einiger Zeit das seltsame Problem, dass jede .NET basierte Anwendung abstürzt. Aufgefallen ist mir dieses Problem mit dem...
  • update in win 7 net framewosk

    update in win 7 net framewosk: Warum kann ich netframework nicht installieren
  • net****.inf

    net****.inf: Hallo Spezis, mein Win 7 Home Premium (noch) listet viele net***.inf, ein Teil davon mit PNF begleitet. Meine Neugierde möchte wissen, sind die...
  • .Net Famework

    .Net Famework: Hallo, Ich versuche bei Windows 10 ein PlugIn in einem Programm zu installieren und bekomme jeweils diesem Fehler angezeigt Speziell handelt...
  • Ähnliche Themen

    • Probleme bei der Installation von .NET Framework(jegliche Version)

      Probleme bei der Installation von .NET Framework(jegliche Version): Schönen guten Tag, Ich habe heute ,mich dazu entschieden, mein .NET Framework zu updaten, da ein Programm welches ich Installieren wollte, meinte...
    • Alle .NET Anwendungen stürzen ab

      Alle .NET Anwendungen stürzen ab: Hallo. Ich habe seit einiger Zeit das seltsame Problem, dass jede .NET basierte Anwendung abstürzt. Aufgefallen ist mir dieses Problem mit dem...
    • update in win 7 net framewosk

      update in win 7 net framewosk: Warum kann ich netframework nicht installieren
    • net****.inf

      net****.inf: Hallo Spezis, mein Win 7 Home Premium (noch) listet viele net***.inf, ein Teil davon mit PNF begleitet. Meine Neugierde möchte wissen, sind die...
    • .Net Famework

      .Net Famework: Hallo, Ich versuche bei Windows 10 ein PlugIn in einem Programm zu installieren und bekomme jeweils diesem Fehler angezeigt Speziell handelt...
    Oben