Fallos del tipo CWE-170
52 resultadosTerminação inadequada com nulo
Ocorre quando uma string ou buffer não é finalizado com o caractere nulo ('\0'), violando a convenção de strings em C/C++. Funções de manipulação de strings esperam encontrar esse terminador para saber onde a string acaba; sem ele, leem além dos limites da memória alocada, causando vazamento de dados ou corrupção.
Um desenvolvedor copia dados para um buffer com strncpy() mas esquece de adicionar o nulo no final: char buf[10]; strncpy(buf, entrada, 10); — agora buf não é uma string válida, e strcmp() ou printf() vão ler memória aleatória até achar um nulo por acaso.
Use sempre funções seguras (strlcpy, snprintf) que garantem o terminador nulo, ou adicione manualmente buf[tamanho_cópia] = '\0' após copiar dados. Em validação, sempre sanitize entrada garantindo que buffers destinados a strings sejam nulos-terminados antes de usá-los.