警告 C30034:将标志值传递给分配函数,该函数可能导致分配可执行内存。 请验证分配函数是否未请求一种可执行的非分页池形式。
BANNED_MEM_ALLOCATION_MAYBE_UNSAFE
已找到对导致可能分配可执行非分页池的函数的调用。 使用的参数指示生成的分配实际上可能是非可执行文件,但确定这不太可能,并且已分配可执行内存。 这是最常见的函数,该函数采用可选的分配函数作为参数。
示例
以下代码生成此警告,因为不知道 pAllocate 分配指定类型 -在此第四个参数 (0,这是可执行文件)中,还是从 pAllocate 中设置分配类型。
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
0,
size,
tag,
depth);
以下代码避免出现以下警告:
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
POOL_NX_ALLOCATION,
size,
tag,
depth);