`A12-8-6`: Compiler generated special functions are not consistently flagged

Ouverte
#811 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
cpp
Domaine
compilers

Piste de recherche

La règle concernée est testée dans cpp/autosar/test/rules/A12-8-6/test.cpp, y compris les exemples référencés ; commencez par lire ces cas et la bibliothèque TrivialType. Étendez la gestion aux cas supplémentaires de fonctions spéciales générées par le compilateur décrits, puis exécutez les tests A12-8-6 et confirmez que les fonctions concernées sont systématiquement signalées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Difficulty-Medium false positive/false negative Impact-Medium
Affected rules
  • A12-8-6
Description

Compiler generated special functions are not always flagged by this rule, because the extractor does not always generate them.

In CodeQL CLI v2.16.6 and before, this mainly affected non-template classes. However, after the upgrade to CodeQL CLI v2.18.4, special functions are not consistently generated for template classes either.

This can be addressed by extending the TrivialType library to support additional cases where the function would be compiler generated, but where it currently isn't detected.

Example

https://github.com/github/codeql-coding-standards/blob/adcb3805ea0a36d8944f63c2d7c761a501a2b379/cpp/autosar/test/rules/A12-8-6/test.cpp#L15

https://github.com/github/codeql-coding-standards/blob/adcb3805ea0a36d8944f63c2d7c761a501a2b379/cpp/autosar/test/rules/A12-8-6/test.cpp#L124

Langage dominant
CodeQL
Étoiles
227
Forks
82
Merge moyen
6 j 7 h
PR mergées (30 j)
9

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/codeql-coding-standards

Toutes les issues de github/codeql-coding-standards

Issues similaires

Plus d'issues Compilers

Recevez les nouvelles issues par e-mail

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