From e186c7674cbc8d2796a7971b53daa98e60d7f601 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 4 Jul 2015 11:28:35 -0700 Subject: Make sure the dummy percentage calculation won't overflow. --- Objects/setobject.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Objects/setobject.c b/Objects/setobject.c index 8e56f72..cc87f28 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -1506,8 +1506,8 @@ set_difference_update_internal(PySetObject *so, PyObject *other) if (PyErr_Occurred()) return -1; } - /* If more than 1/5 are dummies, then resize them away. */ - if ((so->fill - so->used) * 5 < so->mask) + /* If more than 1/4th are dummies, then resize them away. */ + if ((size_t)(so->fill - so->used) <= (size_t)so->mask / 4) return 0; return set_table_resize(so, so->used); } -- cgit v0.12