Tainted
[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]
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