Weaknesses of type CWE-468
4 resultsEscalonamento incorreto de ponteiros
Ocorre quando o código multiplica ou escala um ponteiro pelo tamanho errado de tipo de dado, causando acesso a endereços de memória indevidos. O desenvolvedor confunde o número de elementos com o tamanho em bytes, levando a leituras/escritas fora do limite ou em regiões não autorizadas.
Um código aloca memória para um array de inteiros (4 bytes cada), mas ao calcular offset usa `ponteiro + indice * sizeof(char)` em vez de `sizeof(int)`. Isso faz acessar endereços errados, podendo ler dados sensíveis ou corromper a pilha.
Use abstrações de linguagem de alto nível (arrays, slices) quando possível. Se trabalhar com aritmética de ponteiros, sempre verifique o tamanho do tipo com sizeof() explicitamente e valide os índices antes de acessar. Em C, prefira acesso seguro via índice em vez de manipulação direta de ponteiros.