Weaknesses of type CWE-170
52 resultsTerminação inadequada de string nula
Fraqueza onde uma string não é terminada com o byte nulo (\0), causando buffer overread ou comportamento indefinido quando funções esperam strings válidas. Código que não garante o caractere terminador deixa a porta aberta para leitura além dos limites alocados ou processamento de dados lixo.
Um programa copia dados em um buffer de 10 bytes com strncpy(buffer, entrada, 10) mas nunca adiciona buffer[10] = '\0'. Quando strlen(buffer) é chamado, a função procura pelo \0 além dos 10 bytes, lendo memória não autorizada até encontrar um nulo aleatório.
Sempre termine strings explicitamente após cópia (buffer[tamanho-1] = '\0') ou use funções seguras como snprintf() que garantem terminação automática. Valide comprimentos de entrada e use ferramentas estáticas (ASan, Clang) para detectar overreads em desenvolvimento.