AttributeNonNull
Nach oben zu C++-Audits
Beschreibung
Prüft auf als Argumente an eine Funktion übergebene Null-Zeiger, deren Argumente mit dem Attribut nonnull gekennzeichnet sind.
Zur Unterstützung des AttributeNonNull-Audits können Sie das Attribut nonnull in Funktionsdeklarationen verwenden:
__attribute__((nonnull(arg_number, ...)))
Hier bezeichnet arg_number, ... Argumentnummern, die keine Null-Zeiger übergeben sollten. Wenn arg_number nicht angegeben ist, werden alle Zeigerargumente als nonnull behandelt.
Beispiel:
void * my_copy (void *destination, const void *source, int length)
__attribute__((nonnull (1, 2)));
Diese Deklaration definiert, dass in Aufrufen von my_copy die Argumente destination und source Nicht-NULL sein sollen. Wenn das Audit AttributeNonNull feststellt, dass ein Null-Zeiger in den Argumenten destination oder source übergeben wird, dann erzeugt das Audit AttributeNonNull diesen Verstoß in my_copy.
Hinweis: Das Attribut nonnull wird nur in C++-Audits unterstützt und vom C++Builder-Compiler ignoriert.