BenBE hat folgendes geschrieben : |
Flamefire hat folgendes geschrieben : | mal ein Frage:
Delphi-Quelltext 1: 2:
| strcpy(retText,Text); strcpy(retKey,rKey); | |
In einem Treiber strcpy und strcat zu verwenden ist SEHR gewagt ... Bitte lieber strncpy und derivate nutzen. Genauso, wie man den Puffern, die von einem Benutzer kommen, nicht trauen sollte: Wenn ich 33 Non-Zero-Bytes schreibe, erhalte ich bei deiner Variante einen Read-Zugriff hinter dem Puffer-Ende, was im Zweifelsfall und bei schlechtem Alignment zu einem Bluescreen führt. dann lieber strnlen verwenden, was die Längen- und Lesebegrenzung auf den übergebenen Puffer sichert.
Womit wieder einmal bestätigt wäre, dass die meisten C nur bis zum nächsten Buffer Overflow beherrschen ...
|
Von beherschen kann bei mir garnicht die Rede sein =), macht Sinn was du sagst! Sollte ich mal etwas machen, was Stabil laufen muß, werde ich es mir zu Herzen nehmen, gerade weil derartige Fehler in einem Treiber oftmals das ganze System in den Abgrund reissen!
Wenn ich etwas mehr Zeit habe gibts natürlich noch den versprochenen Blogpost und die Sense fürs Hackerboard .

Debuggers don't remove bugs, they only show them in slow-motion.