self.pickletest(cwr(values,r)) # test pickling
- # Test implementation detail: tuple re-use
+ @support.bigaddrspacetest
+ def test_combinations_with_replacement_overflow(self):
+ with self.assertRaises(OverflowError):
+ combinations_with_replacement("AA", 2**30)
+ # Test implementation detail: tuple re-use
@support.impl_detail("tuple reuse is specific to CPython")
def test_combinations_with_replacement_tuple_reuse(self):
cwr = combinations_with_replacement
- Issue #23366: Fixed possible integer overflow in itertools.combinations.
+- Issue #23365: Fixed possible integer overflow in
+ itertools.combinations_with_replacement.
+
What's New in Python 3.3.6?
===========================
goto error;
}
+ if (r > PY_SSIZE_T_MAX/sizeof(Py_ssize_t)) {
+ PyErr_SetString(PyExc_OverflowError, "r is too big");
+ goto error;
+ }
indices = PyMem_Malloc(r * sizeof(Py_ssize_t));
if (indices == NULL) {
PyErr_NoMemory();