From 582acece2e0db447904b3f8f8f1d2acf36834158 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 28 Jun 2000 22:07:35 +0000 Subject: Trent Mick's Win64 changes: size_t vs. int or long; also some overflow tests. --- Python/modsupport.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'Python/modsupport.c') diff --git a/Python/modsupport.c b/Python/modsupport.c index 7b402865e2..13737f13ee 100644 --- a/Python/modsupport.c +++ b/Python/modsupport.c @@ -355,8 +355,15 @@ do_mkvalue(p_format, p_va) Py_INCREF(v); } else { - if (n < 0) - n = strlen(str); + if (n < 0) { + size_t m = strlen(str); + if (m > INT_MAX) { + PyErr_SetString(PyExc_OverflowError, + "string too long for Python string"); + return NULL; + } + n = (int)m; + } v = PyString_FromStringAndSize(str, n); } return v; -- cgit v1.2.1