| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/evp/pmeth_gn.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||||||||
| 2 | - | |||||||||||||||||||
| 3 | - | |||||||||||||||||||
| 4 | - | |||||||||||||||||||
| 5 | int | - | ||||||||||||||||||
| 6 | EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx) | - | ||||||||||||||||||
| 7 | { | - | ||||||||||||||||||
| 8 | int ret; | - | ||||||||||||||||||
| 9 | - | |||||||||||||||||||
| 10 | if (!ctx
| 0 | ||||||||||||||||||
| 11 | ERR_put_error(6,(0xfff),(150),__FILE__,75); | - | ||||||||||||||||||
| 12 | return never executed: -2;return -2;never executed: return -2; | 0 | ||||||||||||||||||
| 13 | } | - | ||||||||||||||||||
| 14 | ctx->operation = (1<<1); | - | ||||||||||||||||||
| 15 | if (!ctx->pmeth->paramgen_init
| 0 | ||||||||||||||||||
| 16 | return never executed: 1;return 1;never executed: return 1; | 0 | ||||||||||||||||||
| 17 | ret = ctx->pmeth->paramgen_init(ctx); | - | ||||||||||||||||||
| 18 | if (ret <= 0
| 0 | ||||||||||||||||||
| 19 | ctx->operation = 0; never executed: ctx->operation = 0; | 0 | ||||||||||||||||||
| 20 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||||||||
| 21 | } | - | ||||||||||||||||||
| 22 | - | |||||||||||||||||||
| 23 | int | - | ||||||||||||||||||
| 24 | EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey) | - | ||||||||||||||||||
| 25 | { | - | ||||||||||||||||||
| 26 | int ret; | - | ||||||||||||||||||
| 27 | - | |||||||||||||||||||
| 28 | if (!ctx
| 0 | ||||||||||||||||||
| 29 | ERR_put_error(6,(0xfff),(150),__FILE__,93); | - | ||||||||||||||||||
| 30 | return never executed: -2;return -2;never executed: return -2; | 0 | ||||||||||||||||||
| 31 | } | - | ||||||||||||||||||
| 32 | - | |||||||||||||||||||
| 33 | if (ctx->operation != (1<<1)
| 0 | ||||||||||||||||||
| 34 | ERR_put_error(6,(0xfff),(151),__FILE__,98); | - | ||||||||||||||||||
| 35 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||||||||
| 36 | } | - | ||||||||||||||||||
| 37 | - | |||||||||||||||||||
| 38 | if (!ppkey
| 0 | ||||||||||||||||||
| 39 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||||||||
| 40 | - | |||||||||||||||||||
| 41 | if (!*ppkey
| 0 | ||||||||||||||||||
| 42 | * never executed: ppkey = EVP_PKEY_new();*ppkey = EVP_PKEY_new();never executed: *ppkey = EVP_PKEY_new(); | 0 | ||||||||||||||||||
| 43 | - | |||||||||||||||||||
| 44 | ret = ctx->pmeth->paramgen(ctx, *ppkey); | - | ||||||||||||||||||
| 45 | if (ret <= 0
| 0 | ||||||||||||||||||
| 46 | EVP_PKEY_free(*ppkey); | - | ||||||||||||||||||
| 47 | *ppkey = | - | ||||||||||||||||||
| 48 | ((void *)0) | - | ||||||||||||||||||
| 49 | ; | - | ||||||||||||||||||
| 50 | } never executed: end of block | 0 | ||||||||||||||||||
| 51 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||||||||
| 52 | } | - | ||||||||||||||||||
| 53 | - | |||||||||||||||||||
| 54 | int | - | ||||||||||||||||||
| 55 | EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx) | - | ||||||||||||||||||
| 56 | { | - | ||||||||||||||||||
| 57 | int ret; | - | ||||||||||||||||||
| 58 | - | |||||||||||||||||||
| 59 | if (!ctx
| 0-1813 | ||||||||||||||||||
| 60 | ERR_put_error(6,(0xfff),(150),__FILE__,122); | - | ||||||||||||||||||
| 61 | return never executed: -2;return -2;never executed: return -2; | 0 | ||||||||||||||||||
| 62 | } | - | ||||||||||||||||||
| 63 | ctx->operation = (1<<2); | - | ||||||||||||||||||
| 64 | if (!ctx->pmeth->keygen_init
| 0-1813 | ||||||||||||||||||
| 65 | return executed 1813 times by 5 tests: 1;return 1;Executed by:
executed 1813 times by 5 tests: return 1;Executed by:
| 1813 | ||||||||||||||||||
| 66 | ret = ctx->pmeth->keygen_init(ctx); | - | ||||||||||||||||||
| 67 | if (ret <= 0
| 0 | ||||||||||||||||||
| 68 | ctx->operation = 0; never executed: ctx->operation = 0; | 0 | ||||||||||||||||||
| 69 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||||||||
| 70 | } | - | ||||||||||||||||||
| 71 | - | |||||||||||||||||||
| 72 | int | - | ||||||||||||||||||
| 73 | EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey) | - | ||||||||||||||||||
| 74 | { | - | ||||||||||||||||||
| 75 | int ret; | - | ||||||||||||||||||
| 76 | - | |||||||||||||||||||
| 77 | if (!ctx
| 0-1813 | ||||||||||||||||||
| 78 | ERR_put_error(6,(0xfff),(150),__FILE__,140); | - | ||||||||||||||||||
| 79 | return never executed: -2;return -2;never executed: return -2; | 0 | ||||||||||||||||||
| 80 | } | - | ||||||||||||||||||
| 81 | if (ctx->operation != (1<<2)
| 0-1813 | ||||||||||||||||||
| 82 | ERR_put_error(6,(0xfff),(151),__FILE__,144); | - | ||||||||||||||||||
| 83 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||||||||
| 84 | } | - | ||||||||||||||||||
| 85 | - | |||||||||||||||||||
| 86 | if (!ppkey
| 0-1813 | ||||||||||||||||||
| 87 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||||||||
| 88 | - | |||||||||||||||||||
| 89 | if (!*ppkey
| 0-1813 | ||||||||||||||||||
| 90 | * executed 1813 times by 5 tests: ppkey = EVP_PKEY_new();*ppkey = EVP_PKEY_new();Executed by:
executed 1813 times by 5 tests: *ppkey = EVP_PKEY_new();Executed by:
| 1813 | ||||||||||||||||||
| 91 | - | |||||||||||||||||||
| 92 | ret = ctx->pmeth->keygen(ctx, *ppkey); | - | ||||||||||||||||||
| 93 | if (ret <= 0
| 0-1813 | ||||||||||||||||||
| 94 | EVP_PKEY_free(*ppkey); | - | ||||||||||||||||||
| 95 | *ppkey = | - | ||||||||||||||||||
| 96 | ((void *)0) | - | ||||||||||||||||||
| 97 | ; | - | ||||||||||||||||||
| 98 | } never executed: end of block | 0 | ||||||||||||||||||
| 99 | return executed 1813 times by 5 tests: ret;return ret;Executed by:
executed 1813 times by 5 tests: return ret;Executed by:
| 1813 | ||||||||||||||||||
| 100 | } | - | ||||||||||||||||||
| 101 | - | |||||||||||||||||||
| 102 | void | - | ||||||||||||||||||
| 103 | EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb) | - | ||||||||||||||||||
| 104 | { | - | ||||||||||||||||||
| 105 | ctx->pkey_gencb = cb; | - | ||||||||||||||||||
| 106 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||||||||||||||
| 107 | - | |||||||||||||||||||
| 108 | EVP_PKEY_gen_cb * | - | ||||||||||||||||||
| 109 | EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx) | - | ||||||||||||||||||
| 110 | { | - | ||||||||||||||||||
| 111 | return never executed: ctx->pkey_gencb;return ctx->pkey_gencb;never executed: return ctx->pkey_gencb; | 0 | ||||||||||||||||||
| 112 | } | - | ||||||||||||||||||
| 113 | - | |||||||||||||||||||
| 114 | - | |||||||||||||||||||
| 115 | - | |||||||||||||||||||
| 116 | - | |||||||||||||||||||
| 117 | - | |||||||||||||||||||
| 118 | static int | - | ||||||||||||||||||
| 119 | trans_cb(int a, int b, BN_GENCB *gcb) | - | ||||||||||||||||||
| 120 | { | - | ||||||||||||||||||
| 121 | EVP_PKEY_CTX *ctx = gcb->arg; | - | ||||||||||||||||||
| 122 | ctx->keygen_info[0] = a; | - | ||||||||||||||||||
| 123 | ctx->keygen_info[1] = b; | - | ||||||||||||||||||
| 124 | return never executed: ctx->pkey_gencb(ctx);return ctx->pkey_gencb(ctx);never executed: return ctx->pkey_gencb(ctx); | 0 | ||||||||||||||||||
| 125 | } | - | ||||||||||||||||||
| 126 | - | |||||||||||||||||||
| 127 | void | - | ||||||||||||||||||
| 128 | evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx) | - | ||||||||||||||||||
| 129 | { | - | ||||||||||||||||||
| 130 | { BN_GENCB *tmp_gencb = (cb); tmp_gencb->ver = 2; tmp_gencb->arg = (ctx); tmp_gencb->cb.cb_2 = (trans_cb); } | - | ||||||||||||||||||
| 131 | } never executed: end of block | 0 | ||||||||||||||||||
| 132 | - | |||||||||||||||||||
| 133 | int | - | ||||||||||||||||||
| 134 | EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx) | - | ||||||||||||||||||
| 135 | { | - | ||||||||||||||||||
| 136 | if (idx == -1
| 0 | ||||||||||||||||||
| 137 | return never executed: ctx->keygen_info_count;return ctx->keygen_info_count;never executed: return ctx->keygen_info_count; | 0 | ||||||||||||||||||
| 138 | if (idx < 0
| 0 | ||||||||||||||||||
| 139 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||||||||
| 140 | return never executed: ctx->keygen_info[idx];return ctx->keygen_info[idx];never executed: return ctx->keygen_info[idx]; | 0 | ||||||||||||||||||
| 141 | } | - | ||||||||||||||||||
| 142 | - | |||||||||||||||||||
| 143 | EVP_PKEY * | - | ||||||||||||||||||
| 144 | EVP_PKEY_new_mac_key(int type, ENGINE *e, const unsigned char *key, int keylen) | - | ||||||||||||||||||
| 145 | { | - | ||||||||||||||||||
| 146 | EVP_PKEY_CTX *mac_ctx = | - | ||||||||||||||||||
| 147 | ((void *)0) | - | ||||||||||||||||||
| 148 | ; | - | ||||||||||||||||||
| 149 | EVP_PKEY *mac_key = | - | ||||||||||||||||||
| 150 | ((void *)0) | - | ||||||||||||||||||
| 151 | ; | - | ||||||||||||||||||
| 152 | - | |||||||||||||||||||
| 153 | mac_ctx = EVP_PKEY_CTX_new_id(type, e); | - | ||||||||||||||||||
| 154 | if (!mac_ctx
| 0-1812 | ||||||||||||||||||
| 155 | return never executed: return ((void *)0) ;never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
| 156 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
| 157 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
| 158 | if (EVP_PKEY_keygen_init(mac_ctx) <= 0
| 0-1812 | ||||||||||||||||||
| 159 | goto never executed: merr;goto merr;never executed: goto merr; | 0 | ||||||||||||||||||
| 160 | if (EVP_PKEY_CTX_ctrl(mac_ctx, -1, (1<<2),
| 0-1812 | ||||||||||||||||||
| 161 | 6, keylen, (void *)key) <= 0
| 0-1812 | ||||||||||||||||||
| 162 | goto never executed: merr;goto merr;never executed: goto merr; | 0 | ||||||||||||||||||
| 163 | if (EVP_PKEY_keygen(mac_ctx, &mac_key) <= 0
| 0-1812 | ||||||||||||||||||
| 164 | goto never executed: merr;goto merr;never executed: goto merr; | 0 | ||||||||||||||||||
| 165 | - | |||||||||||||||||||
| 166 | merr: code before this statement executed 1812 times by 4 tests: merr:Executed by:
| 1812 | ||||||||||||||||||
| 167 | EVP_PKEY_CTX_free(mac_ctx); | - | ||||||||||||||||||
| 168 | return executed 1812 times by 4 tests: mac_key;return mac_key;Executed by:
executed 1812 times by 4 tests: return mac_key;Executed by:
| 1812 | ||||||||||||||||||
| 169 | } | - | ||||||||||||||||||
| Switch to Source code | Preprocessed file |