genksyms: Fix segfault with invalid declarations
authorMichal Marek <mmarek@suse.com>
Tue, 3 Jan 2017 13:40:44 +0000 (14:40 +0100)
committerMichal Marek <mmarek@suse.com>
Thu, 5 Jan 2017 12:00:54 +0000 (13:00 +0100)
commitd920f7c6628c63a390009c237fb80a203c2e400a
tree439964a9707355942a7896255624f97739800075
parent7ce7d89f48834cefece7804d38fc5d85382edf77
genksyms: Fix segfault with invalid declarations

Do not try to recover too early and segfault when parsing invalid
declarations such as

echo 'int (int);' | scripts/genksyms/genksyms
echo 'int a, (int);' | scripts/genksyms/genksyms
echo 'extern void *__inline_memcpy((void *), (const void *), (__kernel_size_t));' | scripts/genksyms/genksyms

The last one was a real-life bug with
include/asm-generic/asm-prototypes.h on x86_64.

Reported-and-tested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Michal Marek <mmarek@suse.com>
scripts/genksyms/parse.y