mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	Fix compiler warning in call_readline() (GH-10820)
Replace strncpy() with memcpy() in call_readline() to fix the
following warning, the NUL byte is written manually just after:
Modules/readline.c: In function ‘call_readline’:
Modules/readline.c:1303:9: warning: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Wstringop-truncation]
         strncpy(p, q, n);
         ^~~~~~~~~~~~~~~~
Modules/readline.c:1279:9: note: length computed here
     n = strlen(p);
         ^~~~~~~~~
			
			
This commit is contained in:
		
							parent
							
								
									b7c2182604
								
							
						
					
					
						commit
						1600f60414
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -1240,7 +1240,7 @@ static char *
 | 
			
		|||
call_readline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
 | 
			
		||||
{
 | 
			
		||||
    size_t n;
 | 
			
		||||
    char *p, *q;
 | 
			
		||||
    char *p;
 | 
			
		||||
    int signal;
 | 
			
		||||
 | 
			
		||||
#ifdef SAVE_LOCALE
 | 
			
		||||
| 
						 | 
				
			
			@ -1297,10 +1297,10 @@ call_readline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
 | 
			
		|||
    }
 | 
			
		||||
    /* Copy the malloc'ed buffer into a PyMem_Malloc'ed one and
 | 
			
		||||
       release the original. */
 | 
			
		||||
    q = p;
 | 
			
		||||
    char *q = p;
 | 
			
		||||
    p = PyMem_RawMalloc(n+2);
 | 
			
		||||
    if (p != NULL) {
 | 
			
		||||
        strncpy(p, q, n);
 | 
			
		||||
        memcpy(p, q, n);
 | 
			
		||||
        p[n] = '\n';
 | 
			
		||||
        p[n+1] = '\0';
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue