Skip to content

Commit edf5753

Browse files
committed
seq_get_with_size(): more aggressively reject incorrectly sized inputs
1 parent bfacaf7 commit edf5753

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/common.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -817,8 +817,14 @@ PyObject **seq_get_with_size(PyObject *seq, size_t size,
817817
}
818818
# endif
819819
} else if (PySequence_Check(seq)) {
820-
temp = PySequence_Tuple(seq);
820+
Py_ssize_t size_seq = PySequence_Size(seq);
821+
if (size_seq != (Py_ssize_t) size) {
822+
if (size_seq == -1)
823+
PyErr_Clear();
824+
return nullptr;
825+
}
821826

827+
temp = PySequence_Tuple(seq);
822828
if (temp)
823829
result = seq_get_with_size(temp, size, temp_out);
824830
else

0 commit comments

Comments
 (0)