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