提交 62217295 编写于 作者: H Heinrich Schuchardt 提交者: Alexander Graf

efi_loader: avoid using unitialized values as console size

If a request for the console size would be answered with a response
with less then three values, uninitialized stack memory would be
copied to the number of rows and columns of the terminal.
Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: NSimon Glass <sjg@chromium.org>
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 d799c67a
......@@ -60,7 +60,15 @@ static struct simple_text_output_mode efi_con_mode = {
.cursor_visible = 1,
};
static int term_read_reply(int *n, int maxnum, char end_char)
/*
* Receive and parse a reply from the terminal.
*
* @n: array of return values
* @num: number of return values expected
* @end_char: character indicating end of terminal message
* @return: non-zero indicates error
*/
static int term_read_reply(int *n, int num, char end_char)
{
char c;
int i = 0;
......@@ -77,7 +85,7 @@ static int term_read_reply(int *n, int maxnum, char end_char)
c = getc();
if (c == ';') {
i++;
if (i >= maxnum)
if (i >= num)
return -1;
n[i] = 0;
continue;
......@@ -91,6 +99,8 @@ static int term_read_reply(int *n, int maxnum, char end_char)
n[i] *= 10;
n[i] += c - '0';
}
if (i != num - 1)
return -1;
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册