Falhas do tipo CWE-588
3 resultadosAcesso a membro de ponteiro não-estruturado
Ocorre quando o código tenta acessar um membro (campo) de um ponteiro que não aponta para uma estrutura, classe ou tipo de dados que possua esse membro. Isso causa comportamento indefinido: corrupção de memória, travamento ou execução de código arbitrário, pois o programa lê/escreve em endereços inválidos.
Um programa recebe um ponteiro genérico (void*) de uma função externa e tenta acessar diretamente `ptr->campo` sem verificar se ptr realmente aponta para uma estrutura que tem esse campo. Ou um cast incorreto de um ponteiro de inteiro para estrutura, depois tentando acessar seus membros.
Valide o tipo do ponteiro antes de acessar membros (use type checking ou tagged unions). Evite ponteiros genéricos sem documentação clara; se necessário, use wrappers que garantem o tipo. Em C++, prefira templates ou herança polimórfica; em C, mantenha rastreamento explícito do tipo real de cada ponteiro genérico.