github / github/codeql

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

Abierto
#2,753 2 comentarios 1 reacción 0 asignados Ver en GitHub
C# 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**

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

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.