Tainted
Mit der Tainted-Eigenschaft wird angegeben, ob ein Wert gefahrlos durch andere Funktionen verwendet werden kann. Diese Eigenschaft ist für das Pre-Attribut und das Post-Attribut zulässig und kann auf jeden Datentyp angewendet werden.
Die Tainted-Eigenschaft muss auf einen der folgenden Werte festgelegt werden:
SA_Yes - der Wert ist fehlerhaft und nicht vertrauenswürdig.
SA_No - der Wert ist nicht fehlerhaft und ist vertrauenswürdig.
SA_Maybe - der Wert könnte fehlerhaft sein und ist nicht vertrauenswürdig.
Die C6029-Codeanalysewarnung wird ausgelöst, wenn der Wert eines Parameters, der mit [Post(Tainted=Yes)] markiert ist, sofort an einen Parameter übergeben wird, der mit [Pre(Tainted=No)] markiert ist.
Beispiel
Der folgende Code zeigt, wie die Tainted-Eigenschaft verwendet wird:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Tainted=SA_Yes)] int c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Tainted=Yes)] int c);m