github / github/codeql

False positive "Comparison result is always the same" because of incorrect sizeof evaluation

Abierto
#17,343 3 comentarios 0 reacciones 0 asignados Ver en GitHub
false-positive
Lenguaje dominante
CodeQL
Estrellas
10.1k
Forks
2.1k
Merge medio
2 d 15 h
PR fusionados (30 d)
141

Descripción

**Description of the false positive**

CodeQL complains "Comparison is always true because i <= 1. "

However, it is really a loop over 4 elements.

I suspect the problem is that
```c
struct foo
{
...
unsigned long (*fnptr_array[4])(void);
...
};
```
describes an array of 4 function pointers, but that CodeQL isn't evaluating `sizeof` correctly on the type.

**Code samples or links to source code**

https://github.com/andyhhp/xtf/blob/f503efe8e5cf8858ec0704f1aaa82d0bf50891a5/tests/swint-emulation/main.c#L162-L162

but I've done a simpler example in https://godbolt.org/z/9fGr51r68 if that helps

**URL to the alert on GitHub code scanning (optional)**

https://github.com/andyhhp/xtf/security/code-scanning/55

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.