Ł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">
<pre>
#include <iostream>
 
Linia 39:
return 0;
}
</presource>
 
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">
<pre>
#include <iostream>
#include <string>
Linia 77:
return 0;
}
</presource>
 
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 manualpodręcznik użytkownika.
 
<pre>