Weaknesses of type CWE-252
101 resultsRetorno de função não verificado
É quando o código chama uma função que pode falhar ou retornar erro, mas ignora o valor retornado. O programa segue como se tudo tivesse funcionado, criando condições perigosas: um arquivo que deveria ter sido aberto não foi, uma alocação de memória falhou, ou uma criptografia não ocorreu. A falha passa despercebida e o código trabalha com dados inválidos.
Uma função tenta abrir um arquivo de configuração com `fopen()` ou similar, mas o código não verifica se retornou NULL. Depois tenta ler dados do arquivo nulo, causando crash ou leitura de lixo de memória. Ou chama `malloc()` sem verificar se retornou NULL antes de usar o ponteiro.
Sempre verifique o retorno de funções que podem falhar — arquivo, memória, criptografia, validação. Use flags de compilador que alertam sobre returns não verificados (`-Wunused-result` no GCC/Clang). No código, implemente tratamento explícito: `if (!função()) { tratarErro(); }` ou use padrões de erro apropriados (exceções, enums, logs).