From c04ddff290fc203d05b75c8569b748525fb76b5b Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Sat, 6 Oct 2012 18:04:49 +0100 Subject: Issue #16096: Fix several occurrences of potential signed integer overflow. Thanks Serhiy Storchaka. --- Modules/_codecsmodule.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Modules/_codecsmodule.c') diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c index 7818f9a42f..40037b1dc6 100644 --- a/Modules/_codecsmodule.c +++ b/Modules/_codecsmodule.c @@ -177,12 +177,12 @@ escape_encode(PyObject *self, return NULL; size = PyBytes_GET_SIZE(str); - newsize = 4*size; - if (newsize > PY_SSIZE_T_MAX || newsize / 4 != size) { + if (size > PY_SSIZE_T_MAX / 4) { PyErr_SetString(PyExc_OverflowError, "string is too large to encode"); return NULL; } + newsize = 4*size; v = PyBytes_FromStringAndSize(NULL, newsize); if (v == NULL) { -- cgit v1.2.1