mirror of
https://github.com/python/cpython.git
synced 2025-11-01 02:38:53 +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