github / github/codeql

False positive - Log entries created from user input

Ouverte
#10,922 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Go question
Langage dominant
CodeQL
Étoiles
10.1k
Forks
2.1k
Merge moyen
2 j 15 h
PR mergées (30 j)
141

Description

**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...

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.