Working on SNAP-20110321 on VMS, there seems to be a new, possibly
significant compiler complaint in crypto/evp/evp_enc.c:
if (i < 0)
....................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned expression "i" is
being compared with a relational operator to a constant whose value is
not greater than zero. This might not be what you intended.
at line number 372 in file
IT$DKC0:[UTILITY.SOURCE.OPENSSL.openssl-SNAP-20110321.crypto.evp]evp_enc.c;1
The relevant code looks like this:
[...]
int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
{
int n,ret;
unsigned int i, b, bl;
if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER)
{
i = ctx->cipher->do_cipher(ctx, out, NULL, 0);
if (i < 0)
return 0;
else
*outl = i;
return 1;
}
[...]
"do_cipher" seems to be an "int" (crypto/evp/evp.h), as does "*outl", so
it looks to me as if "n" would be a better choice than "i" here.
--- crypto/evp/evp_enc.c_orig 2011-02-07 13:00:04 -0600
+++ crypto/evp/evp_enc.c 2011-03-21 11:30:24 -0500
@@ -368,11 +368,11 @@
if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER)
{
- i = ctx->cipher->do_cipher(ctx, out, NULL, 0);
- if (i < 0)
+ n = ctx->cipher->do_cipher(ctx, out, NULL, 0);
+ if (n < 0)
return 0;
else
- *outl = i;
+ *outl = n;
return 1;
}
Several other problems, too, but this one looked easy.
------------------------------------------------------------------------
Steven M. Schweda sms@antinode-info
382 South Warwick Street (+1) 651-699-9818
Saint Paul MN 55105-2547
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]