Make EVP_SealInit() and EVP_OpenInit() check EVP_EncryptInit() and
authorDr. Stephen Henson <steve@openssl.org>
Sun, 11 Jun 2000 12:27:58 +0000 (12:27 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 11 Jun 2000 12:27:58 +0000 (12:27 +0000)
EVP_DecryptInit() return values.

Update docs.

crypto/evp/p_open.c
crypto/evp/p_seal.c
doc/crypto/EVP_OpenInit.pod
doc/crypto/EVP_SealInit.pod

index dbf83b250ac81710da4fef3f123ff71fbb239c48..2760c00fec10bc307b4a8217944d9b09a57e9a3b 100644 (file)
@@ -71,7 +71,7 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
 
        if(type) {      
                EVP_CIPHER_CTX_init(ctx);
-               EVP_DecryptInit(ctx,type,NULL,NULL);
+               if(!EVP_DecryptInit(ctx,type,NULL,NULL)) return 0;
        }
 
        if(!priv) return 1;
@@ -79,7 +79,6 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
        if (priv->type != EVP_PKEY_RSA)
                {
                EVPerr(EVP_F_EVP_OPENINIT,EVP_R_PUBLIC_KEY_NOT_RSA);
-               ret= -1;
                goto err;
                 }
 
@@ -89,7 +88,6 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
                {
                /* ERROR */
                EVPerr(EVP_F_EVP_OPENINIT,ERR_R_MALLOC_FAILURE);
-               ret= -1;
                goto err;
                }
 
index be021ee3cf02f717be51a7a37afce5c74fe6483c..2fd1d7e0c2b038164835064b63a8e3de46575c60 100644 (file)
@@ -74,7 +74,7 @@ int EVP_SealInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char **ek,
        
        if(type) {
                EVP_CIPHER_CTX_init(ctx);
-               EVP_EncryptInit(ctx,type,NULL,NULL);
+               if(!EVP_EncryptInit(ctx,type,NULL,NULL)) return 0;
        }
        if (npubk <= 0) return(0);
        if (RAND_bytes(key,EVP_MAX_KEY_LENGTH) <= 0)
index 48be966b4d74e68d105e30a37a7319aa57960767..cd587ea651b4ad190f0315298546dc95825dfc0d 100644 (file)
@@ -48,7 +48,7 @@ key length must match the fixed cipher length.
 EVP_OpenInit() returns -1 on error or a non zero integer (actually the
 recovered secret key size) if successful.
 
-EVP_OpenUpdate() does not return a value.
+EVP_OpenUpdate() returns 1 for success of 0 for failure.
 
 EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success.
 
index feeba36569ff7a674efbbac7eeb03862565e66fb..038bf9746f265155ccb3fb7311ed3eafcbb999d6 100644 (file)
@@ -43,7 +43,8 @@ page.
 
 EVP_SealInit() returns -1 on error or B<npubk> if successful.
 
-EVP_SealUpdate() and EVP_SealFinal() do not return values.
+EVP_SealUpdate() and EVP_SealFinal() return 1 for success and 0 for
+failure.
 
 =head1 NOTES