]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/EDKII_openssl-0.9.8w.patch
MdeModulePkg XhciPei: Fix build failure "conversion from 'UINT32' to 'UINT8', possibl...
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / EDKII_openssl-0.9.8w.patch
index daeb36079d17defbb63a91ae41df893c1bc98ac9..c5f646ee969889cc7001652ed8177de6b4d01f38 100644 (file)
@@ -182,6 +182,45 @@ Index: crypto/pkcs7/pk7_smime.c
                PKCS7err(PKCS7_F_PKCS7_SIGN,PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR);\r
                goto err;\r
        }\r
+@@ -173,7 +176,8 @@\r
+       STACK_OF(PKCS7_SIGNER_INFO) *sinfos;\r
+       PKCS7_SIGNER_INFO *si;\r
+       X509_STORE_CTX cert_ctx;\r
+-      char buf[4096];\r
++      char *buf = NULL;\r
++      int bufsiz;\r
+       int i, j=0, k, ret = 0;\r
+       BIO *p7bio;\r
+       BIO *tmpin, *tmpout;\r
+@@ -284,10 +288,16 @@\r
+               BIO_set_mem_eof_return(tmpout, 0);\r
+       } else tmpout = out;\r
\r
++      bufsiz = 4096;\r
++      buf = OPENSSL_malloc (bufsiz);\r
++              if (buf == NULL) {\r
++                      goto err;\r
++      }\r
++\r
+       /* We now have to 'read' from p7bio to calculate digests etc. */\r
+       for (;;)\r
+       {\r
+-              i=BIO_read(p7bio,buf,sizeof(buf));\r
++              i=BIO_read(p7bio,buf,bufsiz);\r
+               if (i <= 0) break;\r
+               if (tmpout) BIO_write(tmpout, buf, i);\r
+       }\r
+@@ -326,6 +336,10 @@\r
\r
+       sk_X509_free(signers);\r
\r
++      if (buf != NULL) {\r
++              OPENSSL_free (buf);\r
++      }\r
++\r
+       return ret;\r
+ }\r
\r
 Index: crypto/rand/rand_egd.c\r
 ===================================================================\r
 --- crypto/rand/rand_egd.c     (revision 1)\r
@@ -221,20 +260,7 @@ Index: crypto/x509/x509_vfy.c
 ===================================================================\r
 --- crypto/x509/x509_vfy.c     (revision 1)\r
 +++ crypto/x509/x509_vfy.c     (working copy)\r
-@@ -386,7 +386,11 @@\r
\r
- static int check_chain_extensions(X509_STORE_CTX *ctx)\r
- {\r
--#ifdef OPENSSL_NO_CHAIN_VERIFY\r
-+#if defined(OPENSSL_NO_CHAIN_VERIFY) || defined(OPENSSL_SYS_UEFI)\r
-+  /* \r
-+    NOTE: Bypass KU Flags Checking for UEFI version. There are incorrect KU flag setting\r
-+          in Authenticode Signing Certificates. \r
-+  */\r
-       return 1;\r
- #else\r
-       int i, ok=0, must_be_ca, plen = 0;\r
-@@ -899,6 +903,10 @@\r
+@@ -899,6 +899,10 @@\r
  \r
  static int check_cert_time(X509_STORE_CTX *ctx, X509 *x)\r
        {\r
@@ -245,7 +271,7 @@ Index: crypto/x509/x509_vfy.c
        time_t *ptime;\r
        int i;\r
  \r
-@@ -942,6 +950,7 @@\r
+@@ -942,6 +946,7 @@\r
                }\r
  \r
        return 1;\r