CryptoPkg: Add some comments for API usage clarification.
authorQin Long <qin.long@intel.com>
Fri, 19 Jun 2015 02:46:51 +0000 (02:46 +0000)
committerqlong <qlong@Edk2>
Fri, 19 Jun 2015 02:46:51 +0000 (02:46 +0000)
This patch adds some comments for API usage clarification, and
adds one object initialization in X509ConstructCertificateStack
implementation to fix possible memory release issue.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qin Long <qin.long@intel.com>
Reviewed-by: Ting Ye <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17671 6f19259b-4bc3-4df7-8a09-765794883524

CryptoPkg/Include/Library/BaseCryptLib.h
CryptoPkg/Library/BaseCryptLib/Pk/CryptRsaExt.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptX509Null.c
CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/Pk/CryptX509Null.c

index 364fa3c..d3b211b 100644 (file)
@@ -1631,6 +1631,8 @@ RsaGenerateKey (
 \r
 /**\r
   Validates key components of RSA context.\r
+  NOTE: This function performs integrity checks on all the RSA key material, so\r
+        the RSA key structure must contain all the private key data.\r
 \r
   This function validates key compoents of RSA context in following aspects:\r
   - Whether p is a prime\r
@@ -1859,7 +1861,7 @@ X509ConstructCertificate (
   If X509Stack is NULL, then return FALSE.\r
   If this interface is not supported, then return FALSE.\r
 \r
-  @param[in, out]  X509Stack  On input, pointer to an existing X509 stack object.\r
+  @param[in, out]  X509Stack  On input, pointer to an existing or NULL X509 stack object.\r
                               On output, pointer to the X509 stack object with new\r
                               inserted X509 certificate.\r
   @param           ...        A list of DER-encoded single certificate data followed\r
index 5c21d12..b890704 100644 (file)
@@ -243,7 +243,9 @@ _Exit:
 }\r
 \r
 /**\r
-  Validates key components of RSA context.\r
+  Validates key components of RSA context. \r
+  NOTE: This function performs integrity checks on all the RSA key material, so\r
+        the RSA key structure must contain all the private key data.\r
 \r
   This function validates key compoents of RSA context in following aspects:\r
   - Whether p is a prime\r
index 02851d5..70b135a 100644 (file)
@@ -67,7 +67,7 @@ X509ConstructCertificate (
 \r
   If X509Stack is NULL, then return FALSE.\r
 \r
-  @param[in, out]  X509Stack  On input, pointer to an existing X509 stack object.\r
+  @param[in, out]  X509Stack  On input, pointer to an existing or NULL X509 stack object.\r
                               On output, pointer to the X509 stack object with new\r
                               inserted X509 certificate.\r
   @param           ...        A list of DER-encoded single certificate data followed\r
@@ -132,6 +132,7 @@ X509ConstructCertificateStack (
     //\r
     // Construct X509 Object from the given DER-encoded certificate data.\r
     //\r
+    X509Cert = NULL;\r
     Status = X509ConstructCertificate (\r
                (CONST UINT8 *) Cert,\r
                CertSize,\r
index e1eb84d..51aa063 100644 (file)
@@ -44,7 +44,7 @@ X509ConstructCertificate (
 \r
   Return FALSE to indicate this interface is not supported.\r
 \r
-  @param[in, out]  X509Stack  On input, pointer to an existing X509 stack object.\r
+  @param[in, out]  X509Stack  On input, pointer to an existing or NULL X509 stack object.\r
                               On output, pointer to the X509 stack object with new\r
                               inserted X509 certificate.\r
   @param           ...        A list of DER-encoded single certificate data followed\r
index c43ca07..f5d9aa1 100644 (file)
@@ -44,7 +44,7 @@ X509ConstructCertificate (
 \r
   Return FALSE to indicate this interface is not supported.\r
 \r
-  @param[in, out]  X509Stack  On input, pointer to an existing X509 stack object.\r
+  @param[in, out]  X509Stack  On input, pointer to an existing or NULL X509 stack object.\r
                               On output, pointer to the X509 stack object with new\r
                               inserted X509 certificate.\r
   @param           ...        A list of DER-encoded single certificate data followed\r