Further synchronisation with Unix
[oweals/openssl.git] / crypto / evp / evp_enc.c
index 304ce7ea6871bb37a419a00b4f22ab882f33fbb1..30e0ca4d9faaf2d36e1f7de2c1b089ca06e24eb3 100644 (file)
@@ -143,7 +143,12 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
        {
        int i,j,bl;
 
-       OPENSSL_assert(inl > 0);
+       if (inl <= 0)
+               {
+               *outl = 0;
+               return inl == 0;
+               }
+
        if(ctx->buf_len == 0 && (inl&(ctx->block_mask)) == 0)
                {
                if(M_do_cipher(ctx,out,in,inl))
@@ -245,10 +250,10 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl,
        int fix_len;
        unsigned int b;
 
-       if (inl == 0)
+       if (inl <= 0)
                {
-               *outl=0;
-               return 1;
+               *outl = 0;
+               return inl == 0;
                }
 
        if (ctx->flags & EVP_CIPH_NO_PADDING)