Weaknesses of type CWE-764
1 resultMúltiplos locks do mesmo recurso crítico
Ocorre quando o código tenta adquirir o mesmo lock (mutex, semáforo, etc.) mais de uma vez sem liberá-lo, causando deadlock ou travamento da thread. O risco é que a aplicação congela, nega serviço ou entra em estado inconsistente, comprometendo disponibilidade e integridade.
Uma função trava um mutex no início, chama outra função que também tenta travar o mesmo mutex, e fica bloqueada aguardando indefinidamente. Se o mutex não for reentrant, a thread nunca consegue progredir e a aplicação congela.
Use mutexes reentrantes (recursive/reentrant locks) quando precisar de acquisição aninhada, ou reestruture o código para garantir que cada lock seja adquirido apenas uma vez por contexto de execução. Revise fluxos de chamadas para identificar locks redundantes.