github / github/codeql

False positive - Log entries created from user input

Abierto
#10,922 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Go question
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 issue**

in-place sanitization code is not recognized and constantly reports false positives with "Log entries created from user input"

For example, when using the following sanitization, logging sanitized user input produces a false positive.
```
// contain at most 60 characters
// contain only lowercase alphanumeric characters or '-'
// start with an alphanumeric character
// end with an alphanumeric character
func Sanitize(in string) string {
if len(in) > 60 {
return ""
}
var alphanumeric bool
for i, r := range in {
if (97 <= r && r <= 122) || (48 <= r && r <= 57) {
alphanumeric = true
continue
}
if r == 45 {
alphanumeric = false
// first letter
if i == 0 {
return ""
}
continue
}
return ""
}
// last letter
if !alphanumeric {
return ""
}
return in
}
```

is there a workaround or a way to signal to CodeQL that this is in-place sanitization and no alert is needed?
That is, without moving to a less efficient non-in-place sanitization...

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.