From: Borislav Petkov Date: Mon, 15 Mar 2021 12:08:35 +0000 (+0100) Subject: tools/x86/kcpuid: Check last token too X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e20f67026b5ead2afc5627e98b45e6b65e7fb38c;p=linux.git tools/x86/kcpuid: Check last token too Input lines like 0x8000001E, 0, EAX, 31:0, Extended APIC ID where the short name is missing lead to a segfault because the loop takes the long name for the short name and tokens[5] becomes NULL which explodes later in strcpy(). Check its value too before further processing. Signed-off-by: Borislav Petkov Acked-by: Feng Tang Link: https://lkml.kernel.org/r/20210315125901.30315-1-bp@alien8.de --- diff --git a/tools/arch/x86/kcpuid/kcpuid.c b/tools/arch/x86/kcpuid/kcpuid.c index 6048da34fcc6a..dae75511fef71 100644 --- a/tools/arch/x86/kcpuid/kcpuid.c +++ b/tools/arch/x86/kcpuid/kcpuid.c @@ -324,6 +324,8 @@ static int parse_line(char *line) str = NULL; } tokens[5] = strtok(str, "\n"); + if (!tokens[5]) + goto err_exit; /* index/main-leaf */ index = strtoull(tokens[0], NULL, 0);