mirror of https://github.com/acidanthera/audk.git
MdePkg/UefiDevicePathLib: Refine the DevPathFromTextiSCSI protocol parsing
For current iSCSI protocol parsing, UINT16 truncation may be happened. Since the Spec already have declaimed that 0 is TCP Protocol and 1+ is reserved, the parsing can be refined as below: if (StrCmp (ProtocolStr, L"TCP") == 0) { ISCSIDevPath->NetworkProtocol = 0; } else { // // Undefined and reserved. // ISCSIDevPath->NetworkProtocol = 1; } Cc: Warner Losh <imp@bsdimp.com> Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Warner Losh <imp@bsdimp.com>
This commit is contained in:
parent
eed4585ba5
commit
7571a1c191
|
@ -2581,7 +2581,14 @@ DevPathFromTextiSCSI (
|
||||||
|
|
||||||
ISCSIDevPath->LoginOption = (UINT16) Options;
|
ISCSIDevPath->LoginOption = (UINT16) Options;
|
||||||
|
|
||||||
ISCSIDevPath->NetworkProtocol = (UINT16) StrCmp (ProtocolStr, L"TCP");
|
if (StrCmp (ProtocolStr, L"TCP") == 0) {
|
||||||
|
ISCSIDevPath->NetworkProtocol = 0;
|
||||||
|
} else {
|
||||||
|
//
|
||||||
|
// Undefined and reserved.
|
||||||
|
//
|
||||||
|
ISCSIDevPath->NetworkProtocol = 1;
|
||||||
|
}
|
||||||
|
|
||||||
return (EFI_DEVICE_PATH_PROTOCOL *) ISCSIDevPath;
|
return (EFI_DEVICE_PATH_PROTOCOL *) ISCSIDevPath;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue