Łata (informatyka): Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
mNie podano opisu zmian |
|||
Linia 19:
Weźmy dla przykładu prosty program w języku [[C++]] zawierający błąd:
<source lang="cpp">
#include <iostream>
Linia 39:
return 0;
}
</
Zwróć uwagę na niebezpieczne wywołanie ''strcat()'' bez kontroli długości łańcucha ''argv[i]'', który może nie zmieścić się w pamięci przeznaczonej dla zmiennej ''text''.
Linia 55:
Przyjrzyjmy się drugiemu programowi (poprawionej wersji):
<source lang="cpp">
#include <iostream>
#include <string>
Linia 77:
return 0;
}
</
Ta wersja nie korzysta z niebezpiecznego wywołania ''strcat()'' i używa [[typ]]u ''string'', który automatycznie zarządza swoją pamięcią.
Linia 90:
</pre>
Patch możemy wygenerować poleceniem ''diff''. Skorzystamy ze składni zalecanej przez
<pre>
|