Audits C++

De RAD Studio
Aller à : navigation, rechercher

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) :
AdjustedReturnValue -- Appel de fonction renvoyant une valeur différente de celle attendue

L'appel de fonction renvoie une valeur différente de la valeur attendue.

AttributeNonNull

Rechercher les pointeurs null transmis en arguments à une fonction dont les arguments sont marqués par l'attribut nonnull.

BoolAssignment

Avertir de l'assignement de valeurs non - {0,1} à des variables booléennes.

CastSize

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.

CastToStruct -- Transtypage de pointeur non struct en pointeur struct

Rechercher les transtypages de pointeurs non-struct en pointeurs struct.

FixedAddr -- Affectation d'une adresse fixe à un pointeur

Rechercher les assignements d'une adresse fixe en pointeur.

PointerArithm

Rechercher les arithmétiques de pointeurs sur des emplacements autres que des éléments de tableaux.

PointerSub -- Utilisation de la soustraction de pointeurs pour déterminer la taille

Rechercher les soustractions de pointeurs sur deux pointeurs pointant sur différentes tranches de mémoire.

SizeofPtr -- Utilisation de sizeof() sur un type pointeur

Avertir de l'utilisation involontaire de sizeof() sur des expressions de pointeurs.

NullDereference

Rechercher les déréférences de pointeurs null.

DivideZero - Rechercher les divisions par zéro

Rechercher les divisions par zéro.

NoReturnFunctions -- Fonctions n'ayant pas de retour

Rechercher les fonctions qui ne reviennent pas à l'appelant.

UndefReturn

Rechercher les valeurs non initialisées renvoyées à l'appelant.

Branch

Rechercher les valeurs non initialisées utilisées en tant que conditions de branches.

ArraySubscript

Rechercher les valeurs non initialisées utilisées en tant qu'indices de tableaux.

Assign

Rechercher les assignements de valeurs non initialisées.

StackAddressEscape

Vérifier que les adresses à la mémoire de la pile ne génèrent pas un échappement de la fonction.

UndefinedBinaryOperatorResult

Rechercher les résultats non définis des opérateurs binaires de non-assignement.

VLASize -- Tableau de longueur variable de taille non définie

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é) :
ArrayBound -- Accès à un élément hors des limites du tableau

Avertir des dépassements de tampons (ancien vérificateur).

ArrayBoundV2 -- Accès à un élément hors des limites du tableau

Avertir des dépassements de tampons (nouveau vérificateur).

ReturnPtrRange -- Pointeur renvoyé pointant hors de l'objet

Rechercher les pointeurs hors limites renvoyés aux appelants.

FloatLoopCounter

Avertir de l'utilisation d'une valeur à virgule flottante en tant que compteur de boucle.

Deadcode (Code mort) :
DeadStores -- Valeur de l'expression non utilisée

Rechercher les valeurs stockées dans des variables qui ne sont plus jamais lues.

IdempotentOperations -- Signaler les opérations idempotentes

Avertir des opérations idempotentes.

UnreachableCode -- Rechercher le code inaccessible

Rechercher du code inaccessible.

Misc (Divers)  :
CFPV -- Comparaison de valeurs à virgule flottante

Comparaison de valeurs à virgule flottante.

CVFCD -- Appel de fonctions virtuelles depuis les constructeurs et le destructeur

Appel de fonctions virtuelles depuis les constructeurs et le destructeur.

DCPC -- Définir le constructeur de copie

Définir le constructeur de copie.

IVNU -- Variable d'itération non utilisée dans le corps de la boucle

La variable d'itération n'est pas utilisée dans le corps de la boucle.

OPM -- Redéfinition de méthode privée

Redéfinition de la méthode privée.

RINF -- Redéfinition d'une fonction non virtuelle héritée

Redéfinition d'une fonction non virtuelle héritée.

SFS -- Instruction For suspecte

Instruction for suspecte.

SSSIDC -- Instruction switch devant inclure le case par défaut

L'instruction switch doit inclure le case par défaut.

NC -- Conventions de nommage

Conventions de nommage.

OROT -- Redéfinir les opérateurs associés ensemble

Redéfinir les opérateurs associés ensemble.

PVD -- Fournir un destructeur virtuel

Fournir un destructeur virtuel.

UCSC -- Utiliser les transtypages de style C++

Utiliser les transtypages de style C++.

PMSNT -- Placer ensemble les méthodes de même nom

Placer ensemble les méthodes de même nom.

RCD -- Déclaration de classe restreinte

Déclaration de classe restreinte.

ASO

Opérateur d'assignement.

CIUCFL

Clause d'initialisation ou de mise à jour complexe dans la boucle for.

CIL

Liste d'initialisation du constructeur.

Voir aussi