| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ts/ts_verify_ctx.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||
| 2 | - | |||||||||||||
| 3 | TS_VERIFY_CTX * | - | ||||||||||||
| 4 | TS_VERIFY_CTX_new(void) | - | ||||||||||||
| 5 | { | - | ||||||||||||
| 6 | TS_VERIFY_CTX *ctx = calloc(1, sizeof(TS_VERIFY_CTX)); | - | ||||||||||||
| 7 | - | |||||||||||||
| 8 | if (!ctx
| 0 | ||||||||||||
| 9 | ERR_put_error(47,(0xfff),((1|64)),__FILE__,71); never executed: ERR_put_error(47,(0xfff),((1|64)),__FILE__,71); | 0 | ||||||||||||
| 10 | - | |||||||||||||
| 11 | return never executed: ctx;return ctx;never executed: return ctx; | 0 | ||||||||||||
| 12 | } | - | ||||||||||||
| 13 | - | |||||||||||||
| 14 | void | - | ||||||||||||
| 15 | TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx) | - | ||||||||||||
| 16 | { | - | ||||||||||||
| 17 | memset(ctx, 0, sizeof(TS_VERIFY_CTX)); | - | ||||||||||||
| 18 | } never executed: end of block | 0 | ||||||||||||
| 19 | - | |||||||||||||
| 20 | void | - | ||||||||||||
| 21 | TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx) | - | ||||||||||||
| 22 | { | - | ||||||||||||
| 23 | if (!ctx
| 0-1 | ||||||||||||
| 24 | return; executed 1 time by 1 test: return;Executed by:
| 1 | ||||||||||||
| 25 | - | |||||||||||||
| 26 | TS_VERIFY_CTX_cleanup(ctx); | - | ||||||||||||
| 27 | free(ctx); | - | ||||||||||||
| 28 | } never executed: end of block | 0 | ||||||||||||
| 29 | - | |||||||||||||
| 30 | void | - | ||||||||||||
| 31 | TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx) | - | ||||||||||||
| 32 | { | - | ||||||||||||
| 33 | if (!ctx
| 0 | ||||||||||||
| 34 | return; never executed: return; | 0 | ||||||||||||
| 35 | - | |||||||||||||
| 36 | X509_STORE_free(ctx->store); | - | ||||||||||||
| 37 | sk_pop_free(((_STACK*) (1 ? (ctx->certs) : (struct stack_st_X509*)0)), ((void (*)(void *)) ((1 ? (X509_free) : (void (*)(X509 *))0)))); | - | ||||||||||||
| 38 | - | |||||||||||||
| 39 | ASN1_OBJECT_free(ctx->policy); | - | ||||||||||||
| 40 | - | |||||||||||||
| 41 | X509_ALGOR_free(ctx->md_alg); | - | ||||||||||||
| 42 | free(ctx->imprint); | - | ||||||||||||
| 43 | - | |||||||||||||
| 44 | BIO_free_all(ctx->data); | - | ||||||||||||
| 45 | - | |||||||||||||
| 46 | ASN1_INTEGER_free(ctx->nonce); | - | ||||||||||||
| 47 | - | |||||||||||||
| 48 | GENERAL_NAME_free(ctx->tsa_name); | - | ||||||||||||
| 49 | - | |||||||||||||
| 50 | TS_VERIFY_CTX_init(ctx); | - | ||||||||||||
| 51 | } never executed: end of block | 0 | ||||||||||||
| 52 | - | |||||||||||||
| 53 | TS_VERIFY_CTX * | - | ||||||||||||
| 54 | TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx) | - | ||||||||||||
| 55 | { | - | ||||||||||||
| 56 | TS_VERIFY_CTX *ret = ctx; | - | ||||||||||||
| 57 | ASN1_OBJECT *policy; | - | ||||||||||||
| 58 | TS_MSG_IMPRINT *imprint; | - | ||||||||||||
| 59 | X509_ALGOR *md_alg; | - | ||||||||||||
| 60 | ASN1_OCTET_STRING *msg; | - | ||||||||||||
| 61 | const ASN1_INTEGER *nonce; | - | ||||||||||||
| 62 | - | |||||||||||||
| 63 | if (ret
| 0 | ||||||||||||
| 64 | TS_VERIFY_CTX_cleanup(ret); never executed: TS_VERIFY_CTX_cleanup(ret); | 0 | ||||||||||||
| 65 | else if (!(ret = TS_VERIFY_CTX_new())
| 0 | ||||||||||||
| 66 | return never executed: return ((void *)0) ;never executed: return ((void *)0) ; | 0 | ||||||||||||
| 67 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
| 68 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
| 69 | - | |||||||||||||
| 70 | - | |||||||||||||
| 71 | ret->flags = ((1u << 0) | (1u << 1) | (1u << 2) | (1u << 3) | (1u << 5) | (1u << 6) | (1u << 7)) & ~((1u << 7) | (1u << 0)); | - | ||||||||||||
| 72 | - | |||||||||||||
| 73 | - | |||||||||||||
| 74 | if ((
| 0 | ||||||||||||
| 75 | ((void *)0)
| 0 | ||||||||||||
| 76 | ) { | - | ||||||||||||
| 77 | if (!(ret->policy = OBJ_dup(policy))
| 0 | ||||||||||||
| 78 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 79 | } never executed: elseend of block | 0 | ||||||||||||
| 80 | ret->flags &= ~(1u << 2); never executed: ret->flags &= ~(1u << 2); | 0 | ||||||||||||
| 81 | - | |||||||||||||
| 82 | - | |||||||||||||
| 83 | imprint = TS_REQ_get_msg_imprint(req); | - | ||||||||||||
| 84 | md_alg = TS_MSG_IMPRINT_get_algo(imprint); | - | ||||||||||||
| 85 | if (!(ret->md_alg = X509_ALGOR_dup(md_alg))
| 0 | ||||||||||||
| 86 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 87 | msg = TS_MSG_IMPRINT_get_msg(imprint); | - | ||||||||||||
| 88 | ret->imprint_len = ASN1_STRING_length(msg); | - | ||||||||||||
| 89 | if (!(ret->imprint = malloc(ret->imprint_len))
| 0 | ||||||||||||
| 90 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 91 | memcpy(ret->imprint, ASN1_STRING_data(msg), ret->imprint_len); | - | ||||||||||||
| 92 | - | |||||||||||||
| 93 | - | |||||||||||||
| 94 | if ((
| 0 | ||||||||||||
| 95 | ((void *)0)
| 0 | ||||||||||||
| 96 | ) { | - | ||||||||||||
| 97 | if (!(ret->nonce = ASN1_INTEGER_dup(nonce))
| 0 | ||||||||||||
| 98 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 99 | } never executed: elseend of block | 0 | ||||||||||||
| 100 | ret->flags &= ~(1u << 5); never executed: ret->flags &= ~(1u << 5); | 0 | ||||||||||||
| 101 | - | |||||||||||||
| 102 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||||||||
| 103 | - | |||||||||||||
| 104 | err: | - | ||||||||||||
| 105 | if (ctx
| 0 | ||||||||||||
| 106 | TS_VERIFY_CTX_cleanup(ctx); never executed: TS_VERIFY_CTX_cleanup(ctx); | 0 | ||||||||||||
| 107 | else | - | ||||||||||||
| 108 | TS_VERIFY_CTX_free(ret); never executed: TS_VERIFY_CTX_free(ret); | 0 | ||||||||||||
| 109 | return never executed: return ((void *)0) ;never executed: return ((void *)0) ; | 0 | ||||||||||||
| 110 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
| 111 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
| 112 | } | - | ||||||||||||
| Switch to Source code | Preprocessed file |