AttributeNonNull

De RAD Studio
Aller à : navigation, rechercher

Remonter à Audits C++


Description

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

Pour supporter l'audit AttributeNonNull, vous pouvez utiliser l'attribut nonnull dans les déclarations des fonctions :

 __attribute__((nonnull(arg_number, ...)))

Ici arg_number, ... indique les numéros des arguments qui ne doivent pas passer des pointeurs null. Si aucun arg_number n'est spécifié, tous les arguments pointeur sont traités en tant que nonnull.

Par exemple, la déclaration :

 void * my_copy (void *destination, const void *source, int length)
            __attribute__((nonnull (1, 2)));

définit que, dans les appels à my_copy, les arguments destination et source doivent être non-NULL. Si l'audit AttributeNonNull détermine qu'un pointeur null est passé dans les arguments destination ou source, l'audit AttributeNonNull génère alors cette violation dans my_copy.

Remarque : L'attribut nonnull est supporté seulement dans les audits C++ et est ignoré par le compilateur C++Builder.


Voir aussi