github / github/codeql

Missing size for typedef

Aperta
#8,805 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug C++
Lingua principale
CodeQL
Stelle
10.1k
Fork
2.1k
Merge medio
2g 15h
PR unite (30g)
141

Descrizione

At least in some situations, the database can wind up with a `Type` with no size, even though that `Type` is for a `typedef` whose underlying type has a known size. This caused bad IR generation, although that was fixable by always using the size of the unspecified type.

To repro, run the following query on the LGTM database for g/nlohmann/json:

```ql
private import cpp

from Type t, Type ut, int size
where ut = t.getUnspecifiedType() and size = ut.getSize() and not exists(t.getSize())
select t, ut, size
```

Expected Result:
No results

Actual Result:
~871 types for which there is no size, despite the unspecified type having a size

I was unable to come up with a small repro in a QL test, so it might be tricky to debug.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.