Skip to content

Commit 7fa9b7d

Browse files
author
oda-gitso
authored
pythongh-92839: fixed typo in _bisectmodule.c (line 131) (python#92849)
1 parent dec1e93 commit 7fa9b7d

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

Lib/test/test_bisect.py

+6
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,12 @@ def test_insort(self):
257257
target
258258
)
259259

260+
def test_insort_keynotNone(self):
261+
x = []
262+
y = {"a": 2, "b": 1}
263+
for f in (self.module.insort_left, self.module.insort_right):
264+
self.assertRaises(TypeError, f, x, y, key = "b")
265+
260266
class TestBisectPython(TestBisect, unittest.TestCase):
261267
module = py_bisect
262268

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed crash resulting from calling bisect.insort() or bisect.insort_left() with the key argument not equal to None.

Modules/_bisectmodule.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ _bisect_insort_right_impl(PyObject *module, PyObject *a, PyObject *x,
128128
index = internal_bisect_right(a, x, lo, hi, key);
129129
} else {
130130
key_x = PyObject_CallOneArg(key, x);
131-
if (x == NULL) {
131+
if (key_x == NULL) {
132132
return NULL;
133133
}
134134
index = internal_bisect_right(a, key_x, lo, hi, key);
@@ -256,7 +256,7 @@ _bisect_insort_left_impl(PyObject *module, PyObject *a, PyObject *x,
256256
index = internal_bisect_left(a, x, lo, hi, key);
257257
} else {
258258
key_x = PyObject_CallOneArg(key, x);
259-
if (x == NULL) {
259+
if (key_x == NULL) {
260260
return NULL;
261261
}
262262
index = internal_bisect_left(a, key_x, lo, hi, key);

0 commit comments

Comments
 (0)