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 dbf83b2..2760c00 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 be021ee..2fd1d7e 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 48be966..cd587ea 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 feeba36..038bf97 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