Fix out of boundary write on 1x1 terminals
If a terminal is merely 1x1 in size, setsize() will write a nul byte in front of the allocated memory, which is an out of boundary write.
This commit is contained in:
parent
d8fb86dbc5
commit
e6e228e7f4
2
tload.c
2
tload.c
@ -70,6 +70,8 @@ static void setsize(int i)
|
|||||||
nrows = win.ws_row;
|
nrows = win.ws_row;
|
||||||
}
|
}
|
||||||
scr_size = nrows * ncols;
|
scr_size = nrows * ncols;
|
||||||
|
if (scr_size < 2)
|
||||||
|
xerr(EXIT_FAILURE, _("screen too small"));
|
||||||
if (screen == NULL)
|
if (screen == NULL)
|
||||||
screen = (char *)xmalloc(scr_size);
|
screen = (char *)xmalloc(scr_size);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user