diff options
author | Laszlo Ersek <lersek@redhat.com> | 2018-03-31 16:36:39 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2018-04-13 14:06:12 +0200 |
commit | b1c81b6ec3dc3776ffbe8bcc37b1049afcabd24f (patch) | |
tree | 1bb101b0b8aefbe57972a129483e8e02ad483876 | |
parent | 44eb974081ce6abb98fb82ec35b77d790f48dda3 (diff) | |
download | edk2-b1c81b6ec3dc3776ffbe8bcc37b1049afcabd24f.tar.gz edk2-b1c81b6ec3dc3776ffbe8bcc37b1049afcabd24f.tar.bz2 edk2-b1c81b6ec3dc3776ffbe8bcc37b1049afcabd24f.zip |
NetworkPkg/TlsDxe: clean up byte order conversion for EfiTlsCipherList
Fix the following style issues:
- "Data" is accessed through a pointer to UINT16 rather than to a pointer
to EFI_TLS_CIPHER. While technically correct, UINT16 is harder to
interpret against the UEFI spec.
- Array subscripting is written with weird *(Pointer + Offset)
expressions, rather than with Pointer[Offset].
- The byte order is converted with HTONS(), while it should be NTOHS().
Either way, use the Data1 and Data2 fields of EFI_TLS_CIPHER instead.
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=915
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Long Qin <qin.long@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
-rw-r--r-- | NetworkPkg/TlsDxe/TlsProtocol.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/NetworkPkg/TlsDxe/TlsProtocol.c b/NetworkPkg/TlsDxe/TlsProtocol.c index a5f95a0983..298ffdd659 100644 --- a/NetworkPkg/TlsDxe/TlsProtocol.c +++ b/NetworkPkg/TlsDxe/TlsProtocol.c @@ -60,6 +60,7 @@ TlsSetSessionData ( EFI_STATUS Status;
TLS_INSTANCE *Instance;
UINT16 *CipherId;
+ CONST EFI_TLS_CIPHER *TlsCipherList;
UINTN CipherCount;
UINTN Index;
@@ -113,9 +114,11 @@ TlsSetSessionData ( goto ON_EXIT;
}
+ TlsCipherList = (CONST EFI_TLS_CIPHER *) Data;
CipherCount = DataSize / sizeof (EFI_TLS_CIPHER);
for (Index = 0; Index < CipherCount; Index++) {
- *(CipherId +Index) = HTONS (*(((UINT16 *) Data) + Index));
+ CipherId[Index] = ((TlsCipherList[Index].Data1 << 8) |
+ TlsCipherList[Index].Data2);
}
Status = TlsSetCipherList (Instance->TlsConn, CipherId, CipherCount);
|