`A4-7-1`: Guard using "." operator getting ignored
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza localizando la implementación de A4-7-1 que emite cpp/autosar/integer-expression-lead-to-data-loss y, después, reproduce los ejemplos false_positive y true_negative. Traza cómo se reconoce la guarda para un miembro al que se accede con el operador ".". Se considera completado cuando el decremento protegido en false_positive deja de generar una advertencia, mientras que el comportamiento existente de true_negative sigue siendo conforme.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Affected rules
- A4-7-1
Description
Changing a class/struct's member value with an arithmetic expression triggers a A4-7-1 warning, despite using an appropriate type guard (example function false_positive).
I have to workaround it by destructuring my member (example function true_negative).
It seems that the "." operator is badly supported.
Triggered warning is cpp/autosar/integer-expression-lead-to-data-loss.
Example
struct A {
std::int32_t s32;
}
void false_positive(A a) {
if (a.s32 > std::numeric_limits<std::int32_t>::min()) {
// Is supposed to be compliant with A4-7-1, but CodeQL reports a warning
--a.s32;
}
}
void true_negative(A a) {
auto s32 = a.s32;
if (s32 > std::numeric_limits<std::int32_t>::min()) {
// Compliant with A4-7-1
--s32;
}
a.s32 = s32;
}
- Lenguaje dominante
- CodeQL
- Estrellas
- 227
- Forks
- 82
- Merge medio
- 6 d 7 h
- PR fusionados (30 d)
- 9
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/codeql-coding-standards
-
false positive/false negative Stardard-MISRA-C++
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
github/codeql-coding-standards#1172 ·
-
Difficulty-Low false positive/false negative false-negative Impact-Low Standard-MISRA-C
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Difficulty-Medium false positive/false negative false-positive Impact-Medium Standard-CERT-C
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
github/codeql-coding-standards#1200 ·
-
`RULE-0-0-1`: "unreachable statement" false positives due to over-pruning of the control-flow graph Abiertofalse positive/false negative
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
github/codeql-coding-standards#1190 ·
-
false positive/false negative
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
github/codeql-coding-standards#1175 ·
Todos los issues de github/codeql-coding-standards
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
palladius/rails8-app-on-gcp#145 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
elastic/gradle-plugins#156 ·
-
area:workflow bug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
fil-donadoni/tolaria#4409 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
dotenvx/dotenv-vscode#139 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Fission-AI/OpenSpec#1960 ·