mirror of https://github.com/python/cpython
gh-92839: fixed typo in _bisectmodule.c (line 131) (#92849)
This commit is contained in:
parent
dec1e9346d
commit
7fa9b7daa5
|
@ -257,6 +257,12 @@ class TestBisect:
|
||||||
target
|
target
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_insort_keynotNone(self):
|
||||||
|
x = []
|
||||||
|
y = {"a": 2, "b": 1}
|
||||||
|
for f in (self.module.insort_left, self.module.insort_right):
|
||||||
|
self.assertRaises(TypeError, f, x, y, key = "b")
|
||||||
|
|
||||||
class TestBisectPython(TestBisect, unittest.TestCase):
|
class TestBisectPython(TestBisect, unittest.TestCase):
|
||||||
module = py_bisect
|
module = py_bisect
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Fixed crash resulting from calling bisect.insort() or bisect.insort_left() with the key argument not equal to None.
|
|
@ -128,7 +128,7 @@ _bisect_insort_right_impl(PyObject *module, PyObject *a, PyObject *x,
|
||||||
index = internal_bisect_right(a, x, lo, hi, key);
|
index = internal_bisect_right(a, x, lo, hi, key);
|
||||||
} else {
|
} else {
|
||||||
key_x = PyObject_CallOneArg(key, x);
|
key_x = PyObject_CallOneArg(key, x);
|
||||||
if (x == NULL) {
|
if (key_x == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
index = internal_bisect_right(a, key_x, lo, hi, key);
|
index = internal_bisect_right(a, key_x, lo, hi, key);
|
||||||
|
@ -256,7 +256,7 @@ _bisect_insort_left_impl(PyObject *module, PyObject *a, PyObject *x,
|
||||||
index = internal_bisect_left(a, x, lo, hi, key);
|
index = internal_bisect_left(a, x, lo, hi, key);
|
||||||
} else {
|
} else {
|
||||||
key_x = PyObject_CallOneArg(key, x);
|
key_x = PyObject_CallOneArg(key, x);
|
||||||
if (x == NULL) {
|
if (key_x == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
index = internal_bisect_left(a, key_x, lo, hi, key);
|
index = internal_bisect_left(a, key_x, lo, hi, key);
|
||||||
|
|
Loading…
Reference in New Issue