weakref_repr(), proxy_repr(): Conversion of sprintf() to

PyOS_snprintf() for buffer overrun avoidance.
This commit is contained in:
Barry Warsaw 2001-11-28 21:01:56 +00:00
parent e5c492d72a
commit d586756dc5

View file

@ -131,12 +131,14 @@ weakref_repr(PyWeakReference *self)
{
char buffer[256];
if (PyWeakref_GET_OBJECT(self) == Py_None) {
sprintf(buffer, "<weakref at %lx; dead>",
PyOS_snprintf(buffer, sizeof(buffer), "<weakref at %lx; dead>",
(long)(self));
}
else {
sprintf(buffer, "<weakref at %#lx; to '%.50s' at %#lx>",
(long)(self), PyWeakref_GET_OBJECT(self)->ob_type->tp_name,
PyOS_snprintf(buffer, sizeof(buffer),
"<weakref at %#lx; to '%.50s' at %#lx>",
(long)(self),
PyWeakref_GET_OBJECT(self)->ob_type->tp_name,
(long)(PyWeakref_GET_OBJECT(self)));
}
return PyString_FromString(buffer);
@ -265,7 +267,8 @@ static PyObject *
proxy_repr(PyWeakReference *proxy)
{
char buf[160];
sprintf(buf, "<weakref at %p to %.100s at %p>", proxy,
PyOS_snprintf(buf, sizeof(buf),
"<weakref at %p to %.100s at %p>", proxy,
PyWeakref_GET_OBJECT(proxy)->ob_type->tp_name,
PyWeakref_GET_OBJECT(proxy));
return PyString_FromString(buf);