OpenCoverage

ecdh_kdf.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ec/ecdh_kdf.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6int ECDH_KDF_X9_62(unsigned char *out, size_t outlen,-
7 const unsigned char *Z, size_t Zlen,-
8 const unsigned char *sinfo, size_t sinfolen,-
9 const EVP_MD *md)-
10{-
11 EVP_MD_CTX *mctx = -
12 ((void *)0)-
13 ;-
14 int rv = 0;-
15 unsigned int i;-
16 size_t mdlen;-
17 unsigned char ctr[4];-
18 if (sinfolen > (1 << 30)
sinfolen > (1 << 30)Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
|| outlen > (1 << 30)
outlen > (1 << 30)Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-18
19 || Zlen > (1 << 30)
Zlen > (1 << 30)Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-18
20 return
never executed: return 0;
0;
never executed: return 0;
0
21 mctx = EVP_MD_CTX_new();-
22 if (mctx ==
mctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-18
23 ((void *)0)
mctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-18
24 )-
25 return
never executed: return 0;
0;
never executed: return 0;
0
26 mdlen = EVP_MD_size(md);-
27 for (i = 1;; i++) {-
28 unsigned char mtmp[64];-
29 if (!EVP_DigestInit_ex(mctx, md,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-26
30 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-26
31 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-26
32 goto
never executed: goto err;
err;
never executed: goto err;
0
33 ctr[3] = i & 0xFF;-
34 ctr[2] = (i >> 8) & 0xFF;-
35 ctr[1] = (i >> 16) & 0xFF;-
36 ctr[0] = (i >> 24) & 0xFF;-
37 if (!EVP_DigestUpdate(mctx, Z, Zlen)
!EVP_DigestUpd...mctx, Z, Zlen)Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-26
38 goto
never executed: goto err;
err;
never executed: goto err;
0
39 if (!EVP_DigestUpdate(mctx, ctr, sizeof(ctr))
!EVP_DigestUpd..., sizeof(ctr))Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-26
40 goto
never executed: goto err;
err;
never executed: goto err;
0
41 if (!EVP_DigestUpdate(mctx, sinfo, sinfolen)
!EVP_DigestUpd...nfo, sinfolen)Description
TRUEnever evaluated
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-26
42 goto
never executed: goto err;
err;
never executed: goto err;
0
43 if (outlen >= mdlen
outlen >= mdlenDescription
TRUEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
) {
8-18
44 if (!EVP_DigestFinal(mctx, out,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-8
45 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-8
46 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-8
47 goto
never executed: goto err;
err;
never executed: goto err;
0
48 outlen -= mdlen;-
49 if (outlen == 0
outlen == 0Description
TRUEnever evaluated
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-8
50 break;
never executed: break;
0
51 out += mdlen;-
52 }
executed 8 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
else {
8
53 if (!EVP_DigestFinal(mctx, mtmp,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-18
54 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
0-18
55 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
)
0-18
56 goto
never executed: goto err;
err;
never executed: goto err;
0
57 memcpy(out, mtmp, outlen);-
58 OPENSSL_cleanse(mtmp, mdlen);-
59 break;
executed 18 times by 2 tests: break;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
18
60 }-
61 }-
62 rv = 1;-
63 err:
code before this statement executed 18 times by 2 tests: err:
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
18
64 EVP_MD_CTX_free(mctx);-
65 return
executed 18 times by 2 tests: return rv;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
rv;
executed 18 times by 2 tests: return rv;
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
18
66}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2