HomeFreeBSD

Define StrCmp in a funky was to be bug-compatible with EDK2 code.

Description

Define StrCmp in a funky was to be bug-compatible with EDK2 code.

Paper over a coverity issue:

  • CID 1372592: API usage errors (BAD_COMPARE)

/lib/libefivar/efivar-dp-parse.c: 2723 in DevPathFromTextiSCSI()

Truncating the result of "strcmp" to "unsigned short" may cause it
to be misinterpreted as 0. Note that "strcmp" may return an integer
besides -1, 0, or 1.

We do this by making StrCmp return either 0 or 1 for equal or
not-equal. There's a bug in the DevPathFromTextiSCSI cast of the
return value and this workaround will fix it without breaking other
users of StrCmp (all of which test for == 0).

https://bugzilla.tianocore.org/show_bug.cgi?id=440 has been filed
upstream to log this issue.

CID: 1372592
Sponsored by: Netflix

Details

Provenance
impAuthored on
Parents
rS315769: Regenerate src.conf(5) (again)
Branches
Unknown
Tags
Unknown