Skip to content

Commit 85cb7f0

Browse files
miss-islingtonoda-gitso
and
oda-gitso
authored
gh-92839: fixed typo in _bisectmodule.c (line 131) (GH-92849)
(cherry picked from commit 7fa9b7d) Co-authored-by: oda-gitso <105083118+oda-gitso@users.noreply.github.com>
1 parent 48647d0 commit 85cb7f0

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

Lib/test/test_bisect.py

Lines changed: 6 additions & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 2 additions & 2 deletions
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)