void display(const char *path)
{
char msg[128];
int8_t size;
memset(msg, 0, 128);
FILE *file = fopen(path, "r");
size_t n = fread(&size, 1, 1, file);
if (n == 0 || size > 128)
return;
n = fread(msg, 1, size, file);
puts(msg);
}
int main(int argc, char *argv[])
{
if (argc != 2)
return 1;
display(argv[1]);
return 0;
}
Comment faire pour que ce tampon déborde? Je veux dire, le tampon est de 128 octets. Mais le code ne vérifie-t-il pas si la taille est supérieure à 128? Si c'est le cas, alors il retournera juste au début, et sinon, il copiera seulement moins de 128 octets du fichier au msg?Comment faire pour que ce tampon déborde?