Tainted (汚染) プロパティは、値を他の関数で使用しても安全かどうかを指定します。 このプロパティは Pre 属性および Post 属性で使用でき、任意のデータ型に対して適用できます。
Tainted プロパティには、次のいずれかの値を設定します。
SA_Yes - 値は汚染されており、信頼できないことを意味します。
SA_No - 値は汚染されておらず、信頼できることを意味します。
SA_Maybe - 値は汚染されている可能性があり、信頼できないことを意味します。
[Post(Tainted=Yes)] でマークされたパラメーターの値が、[Pre(Tainted=No)] でマークされたパラメーターにすぐに渡された場合、コード分析の警告 C6029 が発生します。
使用例
Tainted プロパティの使用例を次のコードに示します。
// 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