Bonjour,

j'ai un message d'erreur en passant mon code sous cppcheck

Sur les lignes contenant "strcat"

message d'erreur : buffer is accessed out of bounds.

Est-ce que vous avez une idée ?

Merci par avance pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
static void InitBase(base *Base, gint WK, gint BK, gint WM, gint BM) {
 
   gint GN, GC, G;
   eindex S, T;
   gchar String[1+1];
 
   Swap(&WK,&BK,&WM,&BM);
 
   strcpy(Base->Name,"");
   if (WK > 0) {
      if (WK > 1) {
         sprintf(String,"%d",WK);
         strcat(Base->Name,String);
      }
      strcat(Base->Name,"k");
   }
   if (WM > 0) {
      if (WM > 1) {
         sprintf(String,"%d",WM);
         strcat(Base->Name,String);
      }
      strcat(Base->Name,"p");
   }
   if (BK > 0) {
      if (BK > 1) {
         sprintf(String,"%d",BK);
         strcat(Base->Name,String);
      }
      strcat(Base->Name,"k");
   }
   if (BM > 0) {
      if (BM > 1) {
         sprintf(String,"%d",BM);
         strcat(Base->Name,String);
      }
      strcat(Base->Name,"p");
   }