Je commence en c et j'ai découvert la joie des buffer overflows

J'ai fait un petit exercice et je me demandais si le code était sécuritaire. Le but de mon petit exercice était justement qu'il soit sécuritaire (ne pas utiliser gets() ou de choses du genre) . . .

Voilà la partie du code en question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
       char *input;
	FILE *filename;
 
	input = (char *)malloc(32);
 
	fgets(input,32,stdin);
	filename = fopen("yourname.txt","w");
	if(!filename){
		puts("FILE ERROR");
		return 0;
	}
	fprintf(filename,input);
	fclose(filename);
	free(input);
P.S. Pour Emmanuel Delahaye (je suis presque certain que vous allez lire ce post), je crois que j'ai enfin compris pourquoi il vaut mieux utiliser fgets() et aussi comment l'utiliser

Merci beaucoup!
Alex