github / github/codeql

False positive: Dereferenced variable may be null ignore NRT attributes

Aperta
#20,828 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
C# false-positive
Lingua principale
CodeQL
Stelle
10.1k
Fork
2.1k
Merge medio
2g 15h
PR unite (30g)
141

Descrizione

**Description of the false positive**

NRT attributes appear to be ignored by CodeQL. This results in lots of noise as we have to explicitly mark each point of use as a false positive and so safe.

**Code samples or links to source code**

```cs
if (TryConvertContractState(tradingPhase, state, out Models.ContractState? contractState))
return contractState.Value;
```
when it is defined as:
```cs
private static bool TryConvertContractState(
string tradingPhase, string state,
[NotNullWhen(true)] out PersistedModels.ContractState? cdmState)
{}
```

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

Private Repo, but the view query source goes to: https://github.com/github/codeql/blob/aa3000df1310b332ba1c84afec3bacb0aeb4dbbd/csharp/ql/src/CSI/NullMaybe.ql

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da csharp/ql/src/CSI/NullMaybe.ql, il codice sorgente della query collegato nel report, e verifica come gestisce l’esempio C# che usa [NotNullWhen(true)]. Riproduci l’avviso segnalato con l’esempio TryConvertContractState fornito; il lavoro è completato quando la dereferenziazione valida di contractState.Value non viene più segnalata come un problema di nullabilità.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
security
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.