Glossaire
Débordement d'entier
Un résultat arithmétique qui dépasse la plage de son type entier et boucle ou déclenche un comportement indéfini, produisant souvent des tampons sous-dimensionnés (CWE-190).
Un débordement d'entier (CWE-190) survient lorsqu'une opération arithmétique produit une valeur en dehors de la plage de son type. En C, l'arithmétique non signée boucle modulo 2^N, tandis que le débordement signé est un comportement indéfini autour duquel les compilateurs peuvent optimiser. Les défaillances apparentées incluent la troncature vers un type plus étroit et la confusion de signe, où une longueur négative devient un énorme size_t.
Le danger réside dans ce qui suit : un count * size ayant débordé, passé à malloc, produit un petit tampon qu'une boucle ultérieure fait déborder. Prévenez-le avec calloc, une arithmétique vérifiée (ckd_mul en C23 ou __builtin_mul_overflow) et des vérifications de plage ; détectez-le avec UBSan. Voir débordements d'entier et chaînes de format.