Trau’ keinem Code…
… den Du nicht selber geschrieben hast.
Ich habe mir vor einer Weile das Secure Programming Cookbook for C and C++ aus dem O’Reilly-Verlag zugelegt. Die darin beschriebenen Grundlagen sind sehr interessant, den abgedruckten Beispielcode sollte man aber besser nie verwenden.
Erst gestern habe ich eine halbe Stunde lang debuggen müssen, um herauszufinden dass ein aus dem Buch übernommener Abschnitt einen Buffer Overflow erzeugt. Eigentlich traurig, wenn das Buch darüber handelt genau so etwas zu vermeiden. ![]()
In den Errata ist der Fehler bislang noch nicht aufgeführt (obwohl er zu offensichtlich ist). Wem fällt was auf?
len = strlen(var);
memcpy(ptr, var, len);
*(ptr+len+1) = ‘=’;
memcpy(ptr+len+2, value, strlen(value)+1);