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);