Compartilhar via


C30034

aviso C30034: passando um valor de sinalizador para uma função de alocação que pode resultar na alocação de memória executável. Verifique se a função de alocação não está solicitando uma forma de pool executável nãopagado.

BANNED_MEM_ALLOCATION_MAYBE_UNSAFE

Uma chamada para uma função que resulta em uma possível alocação de pool nãopagado executável foi encontrada. Há parâmetros usados que indicam que a alocação resultante pode realmente ser não executável, mas é determinado que isso é improvável e a memória executável foi alocada. Isso é mais comum com uma função que usa funções de alocação opcionais como um parâmetro.

Exemplo

O código a seguir gera esse aviso porque não se sabe se pAllocate aloca o tipo especificado – neste, o quarto parâmetro (0, que é executável) ou se o tipo de alocação é definido de dentro do pAllocate.

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                0,
                size,
                tag,
                depth);

O código a seguir evita este aviso:

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                POOL_NX_ALLOCATION,
                size,
                tag,
                depth);