Et donc il estime qu'il est plus probable que le programmeur ait pris la peine de tester qu'un pointeur n'est pas NULL par erreur, plutôt que l'inverse, à savoir que le pointeur ait été déréférencé par erreur avant d'être testé non NULL ?
Si la valeur est nulle, la variable a ete dereferencee avant, donc le test ne s'executera jamais vu que le systeme crashera avant.
Ce test est dans tous les cas inutile et gcc a tout a fait raison de l'enlever.
gcc ne peut pas non plus savoir si la variable est potentiellement nulle ou pas, et il ne peut pas mettre un warning a chaque cas ou il n'est pas sur, sinon tu aurais 35222 warnings a chaque compilation.
[^] # Re: Je ne comprends pas
Posté par pasBill pasGates . En réponse à la dépêche Exploit local dans le noyau Linux 2.6.30. Évalué à 2.
Si la valeur est nulle, la variable a ete dereferencee avant, donc le test ne s'executera jamais vu que le systeme crashera avant.
Ce test est dans tous les cas inutile et gcc a tout a fait raison de l'enlever.
gcc ne peut pas non plus savoir si la variable est potentiellement nulle ou pas, et il ne peut pas mettre un warning a chaque cas ou il n'est pas sur, sinon tu aurais 35222 warnings a chaque compilation.