C30034
avertissement C30034 : Passage d’une valeur d’indicateur à une fonction d’allocation qui pourrait entraîner l’allocation de mémoire exécutable. Vérifiez que la fonction d’allocation ne demande pas une forme de pool exécutable non paginé.
BANNED_MEM_ALLOCATION_MAYBE_UNSAFE
Un appel à une fonction qui aboutit à une allocation possible d’un pool exécutable non paginé a été trouvé. Il existe des paramètres utilisés qui indiquent que l’allocation résultante peut en fait être non exécutable, mais il est déterminé que cela est peu probable et que la mémoire exécutable a été allouée. C’est le plus courant avec une fonction qui prend des fonctions d’allocation facultatives en tant que paramètre.
Exemple
Le code suivant génère cet avertissement, car il n’est pas connu si pAllocate alloue le type spécifié , dans ce quatrième paramètre (0, qui est exécutable) ou si le type d’allocation est défini à partir de pAllocate.
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
0,
size,
tag,
depth);
Le code suivant évite cet avertissement :
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
POOL_NX_ALLOCATION,
size,
tag,
depth);