Avertissement du compilateur (niveau 1) C4733
Affectation inline asm à « FS :0 » : gestionnaire non inscrit en tant que gestionnaire sécurisé
Une fonction modifiant la valeur à FS :0 pour ajouter un nouveau gestionnaire d’exceptions peut ne pas fonctionner avec Coffre Exceptions, car le gestionnaire peut ne pas être inscrit en tant que gestionnaire d’exceptions valide (voir /SAFESEH).
Pour résoudre cet avertissement, supprimez la définition FS :0 ou désactivez cet avertissement et utilisez . SAFESEH pour spécifier les gestionnaires d’exceptions fiables.
L’exemple suivant génère l’erreur C4733 :
// C4733.cpp
// compile with: /W1 /c
// processor: x86
#include "stdlib.h"
#include "stdio.h"
void my_handler()
{
printf("Hello from my_handler\n");
exit(1);
}
int main()
{
_asm {
push my_handler
mov eax, DWORD PTR fs:0
push eax
mov DWORD PTR fs:0, esp // C4733
}
*(int*)0 = 0;
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour