misspellings fixes by https://github.com/vlajos/misspell_fixer
[openssl.git] / crypto / pkcs7 / pk7_lib.c
index 8942ae8a53b3e964e19468386f4b09f79a6a485d..d411269b50bd4d88febc7cd1a1423cd072fe6b3a 100644 (file)
@@ -272,16 +272,23 @@ int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
        if (!j) /* we need to add another algorithm */
                {
                if(!(alg=X509_ALGOR_new())
-                       || !(alg->parameter = ASN1_TYPE_new())) {
+                       || !(alg->parameter = ASN1_TYPE_new()))
+                       {
+                       X509_ALGOR_free(alg);
                        PKCS7err(PKCS7_F_PKCS7_ADD_SIGNER,ERR_R_MALLOC_FAILURE);
                        return(0);
-               }
+                       }
                alg->algorithm=OBJ_nid2obj(nid);
                alg->parameter->type = V_ASN1_NULL;
-               sk_X509_ALGOR_push(md_sk,alg);
+               if (!sk_X509_ALGOR_push(md_sk,alg))
+                       {
+                       X509_ALGOR_free(alg);
+                       return 0;
+                       }
                }
 
-       sk_PKCS7_SIGNER_INFO_push(signer_sk,psi);
+       if (!sk_PKCS7_SIGNER_INFO_push(signer_sk,psi))
+               return 0;
        return(1);
        }
 
@@ -306,8 +313,17 @@ int PKCS7_add_certificate(PKCS7 *p7, X509 *x509)
 
        if (*sk == NULL)
                *sk=sk_X509_new_null();
+       if (*sk == NULL)
+               {
+               PKCS7err(PKCS7_F_PKCS7_ADD_CERTIFICATE, ERR_R_MALLOC_FAILURE);
+               return 0;
+               }
        CRYPTO_add(&x509->references,1,CRYPTO_LOCK_X509);
-       sk_X509_push(*sk,x509);
+       if (!sk_X509_push(*sk,x509))
+               {
+               X509_free(x509);
+               return 0;
+               }
        return(1);
        }
 
@@ -332,9 +348,18 @@ int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl)
 
        if (*sk == NULL)
                *sk=sk_X509_CRL_new_null();
+       if (*sk == NULL)
+               {
+               PKCS7err(PKCS7_F_PKCS7_ADD_CRL,ERR_R_MALLOC_FAILURE);
+               return 0;
+               }
 
        CRYPTO_add(&crl->references,1,CRYPTO_LOCK_X509_CRL);
-       sk_X509_CRL_push(*sk,crl);
+       if (!sk_X509_CRL_push(*sk,crl))
+               {
+               X509_CRL_free(crl);
+               return 0;
+               }
        return(1);
        }
 
@@ -496,7 +521,8 @@ int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri)
                return(0);
                }
 
-       sk_PKCS7_RECIP_INFO_push(sk,ri);
+       if (!sk_PKCS7_RECIP_INFO_push(sk,ri))
+               return 0;
        return(1);
        }
 
@@ -565,7 +591,6 @@ X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
 int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
        {
        int i;
-       ASN1_OBJECT *objtmp;
        PKCS7_ENC_CONTENT *ec;
 
        i=OBJ_obj2nid(p7->type);
@@ -588,7 +613,6 @@ int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
                PKCS7err(PKCS7_F_PKCS7_SET_CIPHER,PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER);
                return(0);
        }
-       objtmp = OBJ_nid2obj(i);
 
        ec->cipher = cipher;
        return 1;
@@ -639,8 +663,3 @@ int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7)
 
        return 1;
        }
-
-
-
-
-