summaryrefslogtreecommitdiffstats
path: root/CryptoPkg
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2017-12-21 13:08:31 +0800
committerJiaxin Wu <jiaxin.wu@intel.com>2017-12-22 15:50:37 +0800
commit9c14f76bae256820993e060461bc036b82634700 (patch)
tree374268fcc4bb717470d2eb70558504f8dd889956 /CryptoPkg
parent3c06e6a9e28c5c1057ecf3b097a76e77474266c7 (diff)
downloadedk2-9c14f76bae256820993e060461bc036b82634700.tar.gz
edk2-9c14f76bae256820993e060461bc036b82634700.tar.bz2
edk2-9c14f76bae256820993e060461bc036b82634700.zip
CryptoPkg/TlsLib: Add some parameter check and clarification.
Cc: Ye Ting <ting.ye@intel.com> Cc: Long Qin <qin.long@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: Long Qin <qin.long@intel.com>
Diffstat (limited to 'CryptoPkg')
-rw-r--r--CryptoPkg/Include/Library/TlsLib.h6
-rw-r--r--CryptoPkg/Library/TlsLib/TlsConfig.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/CryptoPkg/Include/Library/TlsLib.h b/CryptoPkg/Include/Library/TlsLib.h
index b69d513285..e19a38a214 100644
--- a/CryptoPkg/Include/Library/TlsLib.h
+++ b/CryptoPkg/Include/Library/TlsLib.h
@@ -523,6 +523,8 @@ TlsSetCertRevocationList (
This function returns the protocol version used by the specified TLS
connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The protocol version of the specified TLS connection.
@@ -540,6 +542,8 @@ TlsGetVersion (
This function returns the connection end (as client or as server) used by
the specified TLS connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The connection end used by the specified TLS connection.
@@ -601,6 +605,8 @@ TlsGetCurrentCompressionId (
This function returns the peer verification mode currently set in the
specified TLS connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The verification mode set in the specified TLS connection.
diff --git a/CryptoPkg/Library/TlsLib/TlsConfig.c b/CryptoPkg/Library/TlsLib/TlsConfig.c
index 4c88229b89..2ffe58ad29 100644
--- a/CryptoPkg/Library/TlsLib/TlsConfig.c
+++ b/CryptoPkg/Library/TlsLib/TlsConfig.c
@@ -642,6 +642,8 @@ TlsSetCertRevocationList (
This function returns the protocol version used by the specified TLS
connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The protocol version of the specified TLS connection.
@@ -668,6 +670,8 @@ TlsGetVersion (
This function returns the connection end (as client or as server) used by
the specified TLS connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The connection end used by the specified TLS connection.
@@ -761,6 +765,8 @@ TlsGetCurrentCompressionId (
This function returns the peer verification mode currently set in the
specified TLS connection.
+ If Tls is NULL, then ASSERT().
+
@param[in] Tls Pointer to the TLS object.
@return The verification mode set in the specified TLS connection.
@@ -984,7 +990,7 @@ TlsGetHostPublicCert (
Cert = NULL;
TlsConn = (TLS_CONNECTION *) Tls;
- if (TlsConn == NULL || TlsConn->Ssl == NULL || DataSize == NULL) {
+ if (TlsConn == NULL || TlsConn->Ssl == NULL || DataSize == NULL || (*DataSize != 0 && Data == NULL)) {
return EFI_INVALID_PARAMETER;
}