C30034
警告 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);