Audits C++
Remonter à Boîte de dialogue Configuration Audits C++
Le tableau suivant liste les audits de code source C++ avec de brèves descriptions.
Audits C++
Audit | Description |
---|---|
Core (Noyau) : | |
L'appel de fonction renvoie une valeur différente de la valeur attendue. | |
Rechercher les pointeurs null transmis en arguments à une fonction dont les arguments sont marqués par l'attribut nonnull. | |
Avertir de l'assignement de valeurs non - {0,1} à des variables booléennes. | |
Vérifier, lors du transtypage d'une région symbolique allouée par la fonction malloc en type T, si la taille est un multiple de la taille de T. | |
Rechercher les transtypages de pointeurs non-struct en pointeurs struct. | |
Rechercher les assignements d'une adresse fixe en pointeur. | |
Rechercher les arithmétiques de pointeurs sur des emplacements autres que des éléments de tableaux. | |
Rechercher les soustractions de pointeurs sur deux pointeurs pointant sur différentes tranches de mémoire. | |
Avertir de l'utilisation involontaire de sizeof() sur des expressions de pointeurs. | |
Rechercher les déréférences de pointeurs null. | |
Rechercher les divisions par zéro. | |
Rechercher les fonctions qui ne reviennent pas à l'appelant. | |
Rechercher les valeurs non initialisées renvoyées à l'appelant. | |
Rechercher les valeurs non initialisées utilisées en tant que conditions de branches. | |
Rechercher les valeurs non initialisées utilisées en tant qu'indices de tableaux. | |
Rechercher les assignements de valeurs non initialisées. | |
Vérifier que les adresses à la mémoire de la pile ne génèrent pas un échappement de la fonction. | |
Rechercher les résultats non définis des opérateurs binaires de non-assignement. | |
Rechercher les déclarations de Variable-Length Arrays (Variable, Longueur, Tableau) dont la taille est zéro ou n'est pas définie. | |
Security (Sécurité) : | |
Avertir des dépassements de tampons (ancien vérificateur). | |
Avertir des dépassements de tampons (nouveau vérificateur). | |
Rechercher les pointeurs hors limites renvoyés aux appelants. | |
Avertir de l'utilisation d'une valeur à virgule flottante en tant que compteur de boucle. | |
Deadcode (Code mort) : | |
Rechercher les valeurs stockées dans des variables qui ne sont plus jamais lues. | |
Avertir des opérations idempotentes. | |
Rechercher du code inaccessible. | |
Misc (Divers) : | |
Comparaison de valeurs à virgule flottante. | |
Appel de fonctions virtuelles depuis les constructeurs et le destructeur. | |
Définir le constructeur de copie. | |
La variable d'itération n'est pas utilisée dans le corps de la boucle. | |
Redéfinition de la méthode privée. | |
Redéfinition d'une fonction non virtuelle héritée. | |
Instruction for suspecte. | |
L'instruction switch doit inclure le case par défaut. | |
Conventions de nommage. | |
Redéfinir les opérateurs associés ensemble. | |
Fournir un destructeur virtuel. | |
Utiliser les transtypages de style C++. | |
Placer ensemble les méthodes de même nom. | |
Déclaration de classe restreinte. | |
Opérateur d'assignement. | |
Clause d'initialisation ou de mise à jour complexe dans la boucle for. | |
Liste d'initialisation du constructeur. |