X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=apps%2Fpkeyutl.c;h=55394e1883483927462027574cdf64d482b7218d;hb=85c6749216f47bcefc916d4b0331794dac0a5db7;hp=33dd9f3b615863dffd316f849a90d42b993ed573;hpb=15f80eea31c5e18b840400c107010466129e9315;p=oweals%2Fopenssl.git diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 33dd9f3b61..55394e1883 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -80,8 +80,8 @@ static int setup_peer(BIO *err, EVP_PKEY_CTX *ctx, int peerform, const char *file); static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, - unsigned char *out, int *poutlen, - unsigned char *in, int inlen); + unsigned char *out, size_t *poutlen, + unsigned char *in, size_t inlen); int MAIN(int argc, char **); @@ -99,7 +99,8 @@ int MAIN(int argc, char **argv) int keysize = -1; unsigned char *buf_in = NULL, *buf_out = NULL, *sig = NULL; - int buf_inlen, buf_outlen, siglen = -1; + size_t buf_outlen; + int buf_inlen = 0, siglen = -1; int ret = 1, rv = -1; @@ -314,20 +315,22 @@ int MAIN(int argc, char **argv) } if(rev) { - int i; + size_t i; unsigned char ctmp; - for(i = 0; i < buf_inlen/2; i++) + size_t l = (size_t)buf_inlen; + for(i = 0; i < l/2; i++) { ctmp = buf_in[i]; - buf_in[i] = buf_in[buf_inlen - 1 - i]; - buf_in[buf_inlen - 1 - i] = ctmp; + buf_in[i] = buf_in[l - 1 - i]; + buf_in[l - 1 - i] = ctmp; } } } if(pkey_op == EVP_PKEY_OP_VERIFY) { - rv = EVP_PKEY_verify(ctx, sig, siglen, buf_in, buf_inlen); + rv = EVP_PKEY_verify(ctx, sig, (size_t)siglen, + buf_in, (size_t)buf_inlen); if (rv == 0) BIO_puts(out, "Signature Verification Failure\n"); else if (rv == 1) @@ -337,8 +340,8 @@ int MAIN(int argc, char **argv) } else { - rv = do_keyop(ctx, pkey_op, NULL, &buf_outlen, - buf_in, buf_inlen); + rv = do_keyop(ctx, pkey_op, NULL, (size_t *)&buf_outlen, + buf_in, (size_t)buf_inlen); if (rv > 0) { buf_out = OPENSSL_malloc(buf_outlen); @@ -346,8 +349,8 @@ int MAIN(int argc, char **argv) rv = -1; else rv = do_keyop(ctx, pkey_op, - buf_out, &buf_outlen, - buf_in, buf_inlen); + buf_out, (size_t *)&buf_outlen, + buf_in, (size_t)buf_inlen); } } @@ -536,10 +539,10 @@ static int setup_peer(BIO *err, EVP_PKEY_CTX *ctx, int peerform, } static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, - unsigned char *out, int *poutlen, - unsigned char *in, int inlen) + unsigned char *out, size_t *poutlen, + unsigned char *in, size_t inlen) { - int rv; + int rv = 0; switch(pkey_op) { case EVP_PKEY_OP_VERIFYRECOVER: