github / github/codeql

LGTM.com - false positive - cs/dereferenced-value-is-always-null when passed by ref to a method like Array.Resize

Aperta
#2,753 2 commenti 1 reazione 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**

In general, the `cs/dereferenced-value-is-always-null` rule makes sense: https://lgtm.com/rules/1506094316834/

However, if a local is passed to a method by `ref`, it is possible that the method changes its value. In particular, if an array is null, `Array.Resize` will set it to not null. This applies generally to any method that accepts a parameter by `ref`.

https://github.com/dotnet/runtime/blob/c5805025613513ca71b905d3cdafdcba0769960d/src/libraries/System.Private.CoreLib/src/System/Array.cs#L43-L61

**URL to the alert on the project page on LGTM.com**

https://lgtm.com/projects/g/dotnet/corefx/snapshot/4fed824926d1c659c494bd5261fbae0236b2e9da/files/src/System.Runtime.Serialization.Formatters/src/System/Runtime/Serialization/FormatterServices.cs?sort=name&dir=ASC&mode=heatmap#x520a4bc6d0c2a055:1

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.