fix array over-run in efi.c
Subsystems (2)
PATCH 1/1 fix array over-run in efi.c
G'day list.
Coverity found an over-run @ line 364 of efi.c
This is due to the loop checking the size correctly, then adding a '\0' after possibly hitting the end of the array.
The patch below just ensures the loop exits with one space left in the array.
Compile tested.
Signed-off-by Darren Jenkins <[email protected]>
arch/i386/kernel/efi.c renamed from arch/i386/kernel/efi.c.orig +1 -1
@@ -359,7 +359,7 @@ void __init efi_init(void)*/ c16 = (efi_char16_t *)boot_ioremap (efi.systab->fw_vendor,2 );if (c16) { -for (i =0 ; i <sizeof (vendor) && *c16; ++i) +for (i =0 ; i < (sizeof (vendor) -1 ) && *c16; ++i) vendor[i] = *c16++; vendor[i] ='\0' ; }else
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors