Originariamente inviato da Puffolott0
Ho letto tempo fa che è perchè il gets può essere nocivo... Non so bene cosa faccia di male, ma ho letto che è possibile sfruttare una sua debolezza per fare virus..
Il gets ha il problema che non effettua alcun controllo sulla lunghezza dell' array.
Per esempio in questo codice
codice:
#include <stdlib.h>
#include <stdio.h>
void main()
{
// Solo 10 caratteri (9 effettivi)
char stringa[10];
gets(stringa);
printf("Hai scritto: %s",stringa);
}
Se scrivo sulla console "Ciao mi chiamo Gino Pino", le dimensioni della stringa superano quelle dell'array e la stringa verrà comunque memorizzata nella memoria successiva all'array, anche se non allocata.
Per quanto riguardi i virus, forse in qualche caso, se nn si sta attenti, potrebbe provocare un crash del sistema o cmq qualche falla... boh
:master:
Ma dubito che 1 semplice gets in 1 programma mandi il tuo computer in balia dei cracker...