summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2001-11-28 21:01:56 (GMT)
committerBarry Warsaw <barry@python.org>2001-11-28 21:01:56 (GMT)
commitd586756dc5ef15688fb21edef98664509aeaae4a (patch)
tree84359e5d39d7e3b55e951ed31d762299988d2cc5
parente5c492d72af26a1478e4aa9f3dbdadf1068ee618 (diff)
downloadcpython-d586756dc5ef15688fb21edef98664509aeaae4a.zip
cpython-d586756dc5ef15688fb21edef98664509aeaae4a.tar.gz
cpython-d586756dc5ef15688fb21edef98664509aeaae4a.tar.bz2
weakref_repr(), proxy_repr(): Conversion of sprintf() to
PyOS_snprintf() for buffer overrun avoidance.
-rw-r--r--Objects/weakrefobject.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index 6261a87..fb58ff4 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -131,13 +131,15 @@ weakref_repr(PyWeakReference *self)
{
char buffer[256];
if (PyWeakref_GET_OBJECT(self) == Py_None) {
- sprintf(buffer, "<weakref at %lx; dead>",
- (long)(self));
+ 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,
- (long)(PyWeakref_GET_OBJECT(self)));
+ 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,9 +267,10 @@ static PyObject *
proxy_repr(PyWeakReference *proxy)
{
char buf[160];
- sprintf(buf, "<weakref at %p to %.100s at %p>", proxy,
- PyWeakref_GET_OBJECT(proxy)->ob_type->tp_name,
- PyWeakref_GET_OBJECT(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);
}