aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2019-12-16 16:39:57 -0800
committerGitHub <noreply@github.com>2019-12-16 16:39:57 -0800
commit052f47ef5cc363e842e0e839980cfa55ada123b5 (patch)
treebf14554edc2ea804899b55d079a40099312a0e03
parentbpo-39035: travis: Don't use beta group (GH-17605) (diff)
downloadcpython-052f47ef5cc363e842e0e839980cfa55ada123b5.tar.gz
cpython-052f47ef5cc363e842e0e839980cfa55ada123b5.tar.bz2
cpython-052f47ef5cc363e842e0e839980cfa55ada123b5.zip
bpo-38730: Replace strncpy in import.c with memcpy. (GH-17633)
In all these cases, we know the exact length we want copied, so memcpy is the right function to use.
-rw-r--r--Python/import.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Python/import.c b/Python/import.c
index ccbd949e62..b79354b37a 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2456,7 +2456,7 @@ get_parent(PyObject *globals, char *buf, Py_ssize_t *p_buflen, int level)
"Module name too long");
return NULL;
}
- strncpy(buf, start, len);
+ memcpy(buf, start, len);
buf[len] = '\0';
pkgname = PyString_FromString(buf);
if (pkgname == NULL) {
@@ -2554,7 +2554,7 @@ load_next(PyObject *mod, PyObject *altmod, char **p_name, char *buf,
"Module name too long");
return NULL;
}
- strncpy(p, name, len);
+ memcpy(p, name, len);
p[len] = '\0';
*p_buflen = p+len-buf;
@@ -2568,7 +2568,7 @@ load_next(PyObject *mod, PyObject *altmod, char **p_name, char *buf,
Py_DECREF(result);
return NULL;
}
- strncpy(buf, name, len);
+ memcpy(buf, name, len);
buf[len] = '\0';
*p_buflen = len;
}