OpenCoverage

p_verify.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/evp/p_verify.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11#include "internal/cryptlib.h"-
12#include <openssl/evp.h>-
13#include <openssl/objects.h>-
14#include <openssl/x509.h>-
15#include "internal/evp_int.h"-
16-
17int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,-
18 unsigned int siglen, EVP_PKEY *pkey)-
19{-
20 unsigned char m[EVP_MAX_MD_SIZE];-
21 unsigned int m_len = 0;-
22 int i = 0;-
23 EVP_PKEY_CTX *pkctx = NULL;-
24-
25 if (EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_FINALISE)) {
EVP_MD_CTX_tes...s(ctx, 0x0200)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
26 if (!EVP_DigestFinal_ex(ctx, m, &m_len))
!EVP_DigestFin...tx, m, &m_len)Description
TRUEnever evaluated
FALSEnever evaluated
0
27 goto err;
never executed: goto err;
0
28 } else {
never executed: end of block
0
29 int rv = 0;-
30 EVP_MD_CTX *tmp_ctx = EVP_MD_CTX_new();-
31 if (tmp_ctx == NULL) {
tmp_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
32 EVPerr(EVP_F_EVP_VERIFYFINAL, ERR_R_MALLOC_FAILURE);-
33 return 0;
never executed: return 0;
0
34 }-
35 rv = EVP_MD_CTX_copy_ex(tmp_ctx, ctx);-
36 if (rv)
rvDescription
TRUEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-25
37 rv = EVP_DigestFinal_ex(tmp_ctx, m, &m_len);
executed 25 times by 1 test: rv = EVP_DigestFinal_ex(tmp_ctx, m, &m_len);
Executed by:
  • libcrypto.so.1.1
25
38 EVP_MD_CTX_free(tmp_ctx);-
39 if (!rv)
!rvDescription
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
40 return 0;
never executed: return 0;
0
41 }
executed 25 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
25
42-
43 i = -1;-
44 pkctx = EVP_PKEY_CTX_new(pkey, NULL);-
45 if (pkctx == NULL)
pkctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
46 goto err;
never executed: goto err;
0
47 if (EVP_PKEY_verify_init(pkctx) <= 0)
EVP_PKEY_verif...it(pkctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
48 goto err;
never executed: goto err;
0
49 if (EVP_PKEY_CTX_set_signature_md(pkctx, EVP_MD_CTX_md(ctx)) <= 0)
EVP_PKEY_CTX_c...md(ctx))) <= 0Description
TRUEnever evaluated
FALSEevaluated 25 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-25
50 goto err;
never executed: goto err;
0
51 i = EVP_PKEY_verify(pkctx, sigbuf, siglen, m, m_len);-
52 err:
code before this statement executed 25 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
25
53 EVP_PKEY_CTX_free(pkctx);-
54 return i;
executed 25 times by 1 test: return i;
Executed by:
  • libcrypto.so.1.1
25
55}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2