Bonjour,
je rencontre un problème lors de l'analyse d'un défaut de code.
Nous utilisons klocwork pour les analyses de code statique et il me remonte une erreur sur le code suivant :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char chaine[5]; unsigned char i = 10; sprintf(chaine, " %02d ", i);
Je tourne chèvre... Vous êtes bien d'accord qu'on ne peut pas dépasser la taille du buffer ? (unbound sprintf)
Ou bien j'ai loupé un truc dans le fonctionnement du sprintf ?
Car si c'est le cas je m'oriente vers un bug klocwork qui n'interprète pas correctement le %02d (ça va être sympa à justifier au client...).
Note : pas de snprintf dans ma bibliothèque.
Partager