Fallos del tipo CWE-131
146 resultadosCálculo Incorreto de Tamanho de Buffer
Ocorre quando o desenvolvedor calcula de forma errada o tamanho de memória necessária para um buffer, resultando em alocação insuficiente. Isso permite que dados escritos ultrapassem o limite do buffer, causando corrupção de memória, crash ou execução de código arbitrário.
Um programa recebe uma string de tamanho desconhecido e aloca buffer com `malloc(strlen(input))` em vez de `malloc(strlen(input) + 1)`. O espaço para o terminador nulo é esquecido, e a cópia transborda o buffer adjacente.
Use funções seguras como `snprintf()` ou `strncpy()` que aceitam o tamanho máximo como parâmetro. Ao calcular tamanho, sempre considere: comprimento real dos dados + espaço para terminadores + padding necessário. Automatize com ferramentas estáticas (AddressSanitizer, Valgrind) em testes para detectar transbordamentos.