Fallos del tipo CWE-463

3 resultados

Deleção de Sentinela de Estrutura de Dados

Fraqueza que ocorre quando um programa deleta ou corrompe acidentalmente um valor sentinela — um marcador especial usado para sinalizar o fim de uma estrutura de dados (como lista encadeada, array ou string). Sem esse marcador, o código perde o ponto de parada e pode ler memória além dos limites, causando crashes ou comportamento impredizível.

Ejemplo

Um programa que processa uma lista encadeada apaga o nó sentinela que marca o fim da lista. Ao iterar, o código não consegue detectar onde a lista termina e continua lendo ponteiros inválidos da memória até falhar.

Cómo mitigar

Proteja sentinelas contra modificação acidental — use constantes imutáveis, validações explícitas antes de deletar nós críticos, e testes que verificam a integridade de marcos de fim de estrutura. Considere usar abstrações (classes, containers de linguagem) que gerenciam sentinelas internamente.