Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/hmac/hm_ameth.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | static int | - | ||||||||||||
4 | hmac_size(const EVP_PKEY *pkey) | - | ||||||||||||
5 | { | - | ||||||||||||
6 | return never executed: 64;return 64; never executed: return 64; | 0 | ||||||||||||
7 | } | - | ||||||||||||
8 | - | |||||||||||||
9 | static void | - | ||||||||||||
10 | hmac_key_free(EVP_PKEY *pkey) | - | ||||||||||||
11 | { | - | ||||||||||||
12 | ASN1_OCTET_STRING *os = (ASN1_OCTET_STRING *)pkey->pkey.ptr; | - | ||||||||||||
13 | - | |||||||||||||
14 | if (os
| 0-1804 | ||||||||||||
15 | if (os->data
| 0-1804 | ||||||||||||
16 | explicit_bzero(os->data, os->length); executed 1804 times by 3 tests: explicit_bzero(os->data, os->length); Executed by:
| 1804 | ||||||||||||
17 | ASN1_OCTET_STRING_free(os); | - | ||||||||||||
18 | } executed 1804 times by 3 tests: end of block Executed by:
| 1804 | ||||||||||||
19 | } executed 1804 times by 3 tests: end of block Executed by:
| 1804 | ||||||||||||
20 | - | |||||||||||||
21 | static int | - | ||||||||||||
22 | hmac_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) | - | ||||||||||||
23 | { | - | ||||||||||||
24 | switch (op) { | - | ||||||||||||
25 | case never executed: 0x3:case 0x3: never executed: case 0x3: | 0 | ||||||||||||
26 | *(int *)arg2 = 64; | - | ||||||||||||
27 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
28 | default never executed: :default: never executed: default: | 0 | ||||||||||||
29 | return never executed: -2;return -2; never executed: return -2; | 0 | ||||||||||||
30 | } | - | ||||||||||||
31 | } | - | ||||||||||||
32 | - | |||||||||||||
33 | - | |||||||||||||
34 | - | |||||||||||||
35 | - | |||||||||||||
36 | - | |||||||||||||
37 | - | |||||||||||||
38 | - | |||||||||||||
39 | static int | - | ||||||||||||
40 | old_hmac_decode(EVP_PKEY *pkey, const unsigned char **pder, int derlen) | - | ||||||||||||
41 | { | - | ||||||||||||
42 | ASN1_OCTET_STRING *os; | - | ||||||||||||
43 | - | |||||||||||||
44 | os = ASN1_OCTET_STRING_new(); | - | ||||||||||||
45 | if (os ==
| 0 | ||||||||||||
46 | ((void *)0)
| 0 | ||||||||||||
47 | ) | - | ||||||||||||
48 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
49 | if (ASN1_OCTET_STRING_set(os, *pder, derlen) == 0
| 0 | ||||||||||||
50 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
51 | if (EVP_PKEY_assign(pkey, 855, os) == 0
| 0 | ||||||||||||
52 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||
53 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
54 | - | |||||||||||||
55 | err: | - | ||||||||||||
56 | ASN1_OCTET_STRING_free(os); | - | ||||||||||||
57 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
58 | } | - | ||||||||||||
59 | - | |||||||||||||
60 | static int | - | ||||||||||||
61 | old_hmac_encode(const EVP_PKEY *pkey, unsigned char **pder) | - | ||||||||||||
62 | { | - | ||||||||||||
63 | int inc; | - | ||||||||||||
64 | ASN1_OCTET_STRING *os = (ASN1_OCTET_STRING *)pkey->pkey.ptr; | - | ||||||||||||
65 | - | |||||||||||||
66 | if (pder
| 0 | ||||||||||||
67 | if (!*pder
| 0 | ||||||||||||
68 | *pder = malloc(os->length); | - | ||||||||||||
69 | if (*
| 0 | ||||||||||||
70 | ((void *)0)
| 0 | ||||||||||||
71 | ) | - | ||||||||||||
72 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
73 | inc = 0; | - | ||||||||||||
74 | } never executed: elseend of block | 0 | ||||||||||||
75 | inc = 1; never executed: inc = 1; | 0 | ||||||||||||
76 | - | |||||||||||||
77 | memcpy(*pder, os->data, os->length); | - | ||||||||||||
78 | - | |||||||||||||
79 | if (inc
| 0 | ||||||||||||
80 | * never executed: pder += os->length;*pder += os->length; never executed: *pder += os->length; | 0 | ||||||||||||
81 | } never executed: end of block | 0 | ||||||||||||
82 | - | |||||||||||||
83 | return never executed: os->length;return os->length; never executed: return os->length; | 0 | ||||||||||||
84 | } | - | ||||||||||||
85 | - | |||||||||||||
86 | - | |||||||||||||
87 | - | |||||||||||||
88 | const EVP_PKEY_ASN1_METHOD hmac_asn1_meth = { | - | ||||||||||||
89 | .pkey_id = 855, | - | ||||||||||||
90 | .pkey_base_id = 855, | - | ||||||||||||
91 | - | |||||||||||||
92 | .pem_str = "HMAC", | - | ||||||||||||
93 | .info = "OpenSSL HMAC method", | - | ||||||||||||
94 | - | |||||||||||||
95 | .pkey_size = hmac_size, | - | ||||||||||||
96 | - | |||||||||||||
97 | .pkey_free = hmac_key_free, | - | ||||||||||||
98 | .pkey_ctrl = hmac_pkey_ctrl, | - | ||||||||||||
99 | - | |||||||||||||
100 | .old_priv_decode = old_hmac_decode, | - | ||||||||||||
101 | .old_priv_encode = old_hmac_encode | - | ||||||||||||
102 | - | |||||||||||||
103 | }; | - | ||||||||||||
Switch to Source code | Preprocessed file |