From 60d798765666a2e967ef818a2a0df8ef1d0ab789 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Tue, 2 Oct 2018 06:43:38 +0200 Subject: [PATCH] efi_loader: error handling in read_console() getc() might return an error code. Avoid an incorrect converison to Unicode. This addresses CoverityScan CID 184087. Reported-by: Tom Rini Signed-off-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- lib/charset.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/charset.c b/lib/charset.c index 0cede9b..10557b9 100644 --- a/lib/charset.c +++ b/lib/charset.c @@ -97,12 +97,17 @@ static u8 read_string(void *data) /** * read_console() - read byte from console * - * @src - not used, needed to match interface - * Return: - byte read + * @data - not used, needed to match interface + * Return: - byte read or 0 on error */ static u8 read_console(void *data) { - return getc(); + int ch; + + ch = getc(); + if (ch < 0) + ch = 0; + return ch; } int console_read_unicode(s32 *code)