OpenCoverage

p_sign.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/evp/p_sign.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_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,-
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 size_t sltmp;-
24 EVP_PKEY_CTX *pkctx = NULL;-
25-
26 *siglen = 0;-
27 if (EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_FINALISE)) {
EVP_MD_CTX_tes...s(ctx, 0x0200)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
28 if (!EVP_DigestFinal_ex(ctx, m, &m_len))
!EVP_DigestFin...tx, m, &m_len)Description
TRUEnever evaluated
FALSEnever evaluated
0
29 goto err;
never executed: goto err;
0
30 } else {
never executed: end of block
0
31 int rv = 0;-
32 EVP_MD_CTX *tmp_ctx = EVP_MD_CTX_new();-
33 if (tmp_ctx == NULL) {
tmp_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
34 EVPerr(EVP_F_EVP_SIGNFINAL, ERR_R_MALLOC_FAILURE);-
35 return 0;
never executed: return 0;
0
36 }-
37 rv = EVP_MD_CTX_copy_ex(tmp_ctx, ctx);-
38 if (rv)
rvDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-12
39 rv = EVP_DigestFinal_ex(tmp_ctx, m, &m_len);
executed 12 times by 1 test: rv = EVP_DigestFinal_ex(tmp_ctx, m, &m_len);
Executed by:
  • libcrypto.so.1.1
12
40 EVP_MD_CTX_free(tmp_ctx);-
41 if (!rv)
!rvDescription
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
42 return 0;
never executed: return 0;
0
43 }
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12
44-
45 sltmp = (size_t)EVP_PKEY_size(pkey);-
46 i = 0;-
47 pkctx = EVP_PKEY_CTX_new(pkey, NULL);-
48 if (pkctx == NULL)
pkctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
49 goto err;
never executed: goto err;
0
50 if (EVP_PKEY_sign_init(pkctx) <= 0)
EVP_PKEY_sign_init(pkctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
51 goto err;
never executed: goto err;
0
52 if (EVP_PKEY_CTX_set_signature_md(pkctx, EVP_MD_CTX_md(ctx)) <= 0)
EVP_PKEY_CTX_c...md(ctx))) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
53 goto err;
never executed: goto err;
0
54 if (EVP_PKEY_sign(pkctx, sigret, &sltmp, m, m_len) <= 0)
EVP_PKEY_sign(...m, m_len) <= 0Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-12
55 goto err;
never executed: goto err;
0
56 *siglen = sltmp;-
57 i = 1;-
58 err:
code before this statement executed 12 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
12
59 EVP_PKEY_CTX_free(pkctx);-
60 return i;
executed 12 times by 1 test: return i;
Executed by:
  • libcrypto.so.1.1
12
61}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2