Greetings all,
I just got this in my build output:
ar: `u' modifier ignored since `D' is the default (see `U')                     
                                                                                
               
configure: WARNING: cannot check for properly working vsnprintf when cross 
compiling, will assume it's ok                                                  
                    
../../gcc/libiberty/dyn-string.c: In function ‘dyn_string_insert_cstr’:         
                                                                                
               
 ../../gcc/libiberty/dyn-string.c:280:3: warning: ‘strncpy’ output truncated 
before terminating nul copying as many bytes from a string as its length 
[-Wstringop-truncation]   
 strncpy (dest->s + pos, src, length);                                          
                                                                                
      
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                            
                                                                                
     
 ../../gcc/libiberty/dyn-string.c:272:16: note: length computed here            
                                                                                
                
272 |   int length = strlen (src);                                              
                                                                                
             
|                ^~~~~~~~~~~~                                                   
                                                                                
         
 ../../gcc/libiberty/dyn-string.c: In function ‘dyn_string_insert_cstr’:        
                                                                                
                
\ ../../gcc/libiberty/dyn-string.c:280:3: warning: ‘strncpy’ output truncated 
before terminating nul copying as many bytes from a string as its length 
[-Wstringop-truncation]   
280 |   strncpy (dest->s + pos, src, length);                                   
                                                                                
             
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                        
                                                                                
         
 ../../gcc/libiberty/dyn-string.c:272:16: note: length computed here            
                                                                                
                
272 |   int length = strlen (src);                                              
                                                                                
             
|                ^~~~~~~~~~~~    

I've already looked through git blame and it seems this code was last touched 
in 2000. That warning seems
to be  new to gcc 8 after a little research so is this a rather old bug that 
was not found and very
subtle or is this a mislabel. Seems to be a mislabel to me but I'm new to the 
code base so just thought
I would ask.

Cheers,
Nick

Reply via email to