Exact David !
D'ailleurs, et sans rapport direct... au début, la fin du code ressemblait à ça :
puts("Your password is still in memory... Inspect it now! (press any key...)");
getchar();
memset(password, 0, 16);
puts("Your password is now cleared! (press any key...)");
getchar();
return 0;
}
C'est-à-dire qu'il y avait une séquence "puts()/getchar()" supplémentaire entre le memset() et le return final.
Eh bien dans ce cas-là... le compilateur n'optimise pas non plus ! Car il s'agit de fonctions d'I/O et il considère que ça peut interférer avec les buffers -;). (dit autrement : c'est sensible !)
[^] # Re: volatile ?
Posté par Tarnyko (site web personnel) . En réponse au journal C23: un memset_explicit() qui carbure. Évalué à 3. Dernière modification le 21 janvier 2025 à 10:50.
Exact David !
D'ailleurs, et sans rapport direct... au début, la fin du code ressemblait à ça :
C'est-à-dire qu'il y avait une séquence "puts()/getchar()" supplémentaire entre le memset() et le return final.
Eh bien dans ce cas-là... le compilateur n'optimise pas non plus ! Car il s'agit de fonctions d'I/O et il considère que ça peut interférer avec les buffers -;). (dit autrement : c'est sensible !)