Merge branch 'codex/linebuf-bounds-check' of https://github.com/Idate96/kitty

This commit is contained in:
Kovid Goyal 2026-04-28 16:56:43 +05:30
commit 08472207e2
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 3 additions and 0 deletions

View file

@ -292,6 +292,7 @@ copy_line_to(LineBuf *self, PyObject *args) {
unsigned int y;
Line src, *dest;
if (!PyArg_ParseTuple(args, "IO!", &y, &Line_Type, &dest)) return NULL;
if (y >= self->ynum) { PyErr_SetString(PyExc_ValueError, "Out of bounds"); return NULL; }
src.xnum = self->xnum; dest->xnum = self->xnum;
dest->ynum = y;
dest->attrs = self->line_attrs[y];

View file

@ -279,6 +279,8 @@ class TestDataTypes(BaseTest):
l2 = lb.create_line_copy(2)
lb.copy_line_to(1, l2)
self.ae(l2, lb2.line(2))
with self.assertRaises(ValueError):
lb.copy_line_to(lb.ynum, l2)
lb.clear_line(0)
self.ae(lb.line(0), LineBuf(1, lb.xnum).create_line_copy(0))
lb = filled_line_buf(5, 5, filled_cursor())