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:
Tobias Stoeckmann 2017-02-19 15:12:42 +00:00 committed by Craig Small
parent a2ceb95e2a
commit 03f5e2b7c5

View File

@ -71,6 +71,8 @@ static void setsize(int i)
nrows = win.ws_row;
}
scr_size = nrows * ncols;
if (scr_size < 2)
xerr(EXIT_FAILURE, _("screen too small"));
if (screen == NULL)
screen = (char *)xmalloc(scr_size);
else