Hallo zusammen!
Kurz und bündig - wie aussagekräftig sind solche Meldungen?
CU
Olaf
Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge
wie aussagekräftig sind solche Meldungen?
Dazu muss man ungefähr wissen, wie die eingesetzten Programme zur Fehlersuche arbeiten. Diese Programme machen eine rein symantische Prüfung anhand des Quelltextes und suchen spezielle Auffälligkeiten, wie z.B. ein strcpy() oder memcpy(), also sie suchen nach bestimmten anfälligen Funktionen, gängigen Fehlern, zu kleinen Puffern, fehlenden Überprüfungen von Parameterlängen, angeforderten Ressourcen, die nicht wieder frei gegeben werden...
Diese Art der Suche hat natürlich ein paar arge Einschränkungen, so können Fehler in Codeteilen entdeckt werden, die unter Umständen gar nicht mitkompiliert werden, oder bei der Kompilierung wegfallen. Zudem können Fehler im Code entdeckt werden, die gar nicht auftreten können, z.B. weil der Fehler in einer Funktion ist, deren Parameter schon vor der Übergabe in einer anderen Funktion auf Gültigkeit überprüft werden. Zudem gibt es auch Fehler, die diese Tools gar nicht aufspüren können, weil diese Fehler z.B. in der Programmlogik selbst stecken, wie z.B. die neu entdeckte Lücke in PHP mit ini_restore().
Dazu muss man ungefähr wissen, wie die eingesetzten Programme zur Fehlersuche arbeiten. Diese Programme machen eine rein symantische Prüfung anhand des Quelltextes und suchen spezielle Auffälligkeiten, wie z.B. ein strcpy() oder memcpy(), also sie suchen nach bestimmten anfälligen Funktionen, gängigen Fehlern, zu kleinen Puffern, fehlenden Überprüfungen von Parameterlängen, angeforderten Ressourcen, die nicht wieder frei gegeben werden...
Diese Art der Suche hat natürlich ein paar arge Einschränkungen, so können Fehler in Codeteilen entdeckt werden, die unter Umständen gar nicht mitkompiliert werden, oder bei der Kompilierung wegfallen. Zudem können Fehler im Code entdeckt werden, die gar nicht auftreten können, z.B. weil der Fehler in einer Funktion ist, deren Parameter schon vor der Übergabe in einer anderen Funktion auf Gültigkeit überprüft werden. Zudem gibt es auch Fehler, die diese Tools gar nicht aufspüren können, weil diese Fehler z.B. in der Programmlogik selbst stecken, wie z.B. die neu entdeckte Lücke in PHP mit ini_restore().