Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Asm embutido atribuindo para 'FS:0': manipulador não registrado como manipulador seguro
Observações
Uma função modificando o valor em FS:0 para adicionar um novo manipulador de exceção pode não funcionar com Exceções Seguras, pois o manipulador pode não ser registrado como um manipulador de exceção válido (confira /SAFESEH).
Para resolver esse aviso, remova a definição FS:0 ou desative este aviso e use .SAFESEH para especificar os manipuladores de exceção seguros.
Example
O exemplo a seguir gera 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;
}