[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#713836: A workaround for the kernel compile



If you need to get a kernel compiling in the meantime, the
following small kernel patch works around the buffer overrun.

diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index f7bab68..9978f8b 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -99,7 +99,7 @@ static const char * const sym_regex_realmode[S_NSYMTYPES] = {
 
 static const char * const *sym_regex;
 
-static regex_t sym_regex_c[S_NSYMTYPES];
+static regex_t sym_regex_c[S_NSYMTYPES+1];
 static int is_reloc(enum symtype type, const char *sym_name)
 {
 	return sym_regex[type] &&

Because the structures are initialized in increasing order, only the
last one's overrun steps on important data.  The +1 provides some
unused space for the bug to harmlessly corrupt.


Reply to: