HomeFreeBSD

libefivar: Fix a buffer overread.

Description

libefivar: Fix a buffer overread.

DevPathToTextUsbWWID allocates a separate copy of the SerialNumber
string to append a null terminator if the original string is not
null terminated. However, by using AllocateCopyPool, it tries to
copy 'Length + 1' words from the existing string containing 'Length'
characters into the target string. Split the copy out to only
copy 'Length' characters instead.

Reviewed by: imp, emaste
Reported by: GCC 12 -Wstringop-overread
Differential Revision: https://reviews.freebsd.org/D36826

(cherry picked from commit d30a1689f5b37e78ea189232a8b94a7011dc0dc8)

Details

Provenance
jhbAuthored on Oct 3 2022, 11:10 PM
Reviewer
imp
Differential Revision
D36826: libefivar: Fix a buffer overread.
Parents
rG80a1e92e4f54: Silence GCC warnings when using libc++ headers.
Branches
Unknown
Tags
Unknown