efi_loader: Fix buffer underflow
authorMikhail Ilin <ilin.mikhail.ol@gmail.com>
Tue, 22 Nov 2022 07:33:24 +0000 (10:33 +0300)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 22 Nov 2022 10:54:30 +0000 (11:54 +0100)
commitae182a25f5777f957a2c56539221abcb5648c5c6
treeddf29b4f6ef1794194768677f4ae79c1715b3b35
parent16e49a14b2af1421cbaeefb9ce8ee863e45fd71b
efi_loader: Fix buffer underflow

If the array index 'i' < 128, the 'codepage' array is accessed using
[-128...-1] in efi_unicode_collation.c:262. This can lead to a buffer
overflow.

    Negative index in efi_unicode_collation.c:262.

The index of the 'codepage' array should be c - 0x80 instead of i - 0x80.

Fixes: 0bc4b0da7b59 ("efi_loader: EFI_UNICODE_COLLATION_PROTOCOL")
Signed-off-by: Mikhail Ilin <ilin.mikhail.ol@gmail.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/efi_unicode_collation.c