| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/a_enum.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||
| 2 | - | |||||||||||||
| 3 | - | |||||||||||||
| 4 | - | |||||||||||||
| 5 | - | |||||||||||||
| 6 | - | |||||||||||||
| 7 | - | |||||||||||||
| 8 | - | |||||||||||||
| 9 | int | - | ||||||||||||
| 10 | ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) | - | ||||||||||||
| 11 | { | - | ||||||||||||
| 12 | int j, k; | - | ||||||||||||
| 13 | unsigned int i; | - | ||||||||||||
| 14 | unsigned char buf[sizeof(long) + 1]; | - | ||||||||||||
| 15 | long d; | - | ||||||||||||
| 16 | - | |||||||||||||
| 17 | a->type = 10; | - | ||||||||||||
| 18 | if (a->length < (int)(sizeof(long) + 1)
| 0 | ||||||||||||
| 19 | free(a->data); | - | ||||||||||||
| 20 | a->data = calloc(1, sizeof(long) + 1); | - | ||||||||||||
| 21 | } never executed: end of block | 0 | ||||||||||||
| 22 | if (a->data ==
| 0 | ||||||||||||
| 23 | ((void *)0)
| 0 | ||||||||||||
| 24 | ) { | - | ||||||||||||
| 25 | ERR_put_error(13,(0xfff),((1|64)),__FILE__,84); | - | ||||||||||||
| 26 | return never executed: (0);return (0);never executed: return (0); | 0 | ||||||||||||
| 27 | } | - | ||||||||||||
| 28 | d = v; | - | ||||||||||||
| 29 | if (d < 0
| 0 | ||||||||||||
| 30 | d = -d; | - | ||||||||||||
| 31 | a->type = (10 | 0x100); | - | ||||||||||||
| 32 | } never executed: end of block | 0 | ||||||||||||
| 33 | - | |||||||||||||
| 34 | for (i = 0; i < sizeof(long)
| 0 | ||||||||||||
| 35 | if (d == 0
| 0 | ||||||||||||
| 36 | break; never executed: break; | 0 | ||||||||||||
| 37 | buf[i] = (int)d & 0xff; | - | ||||||||||||
| 38 | d >>= 8; | - | ||||||||||||
| 39 | } never executed: end of block | 0 | ||||||||||||
| 40 | j = 0; | - | ||||||||||||
| 41 | for (k = i - 1; k >= 0
| 0 | ||||||||||||
| 42 | a->data[j++] = buf[k]; never executed: a->data[j++] = buf[k]; | 0 | ||||||||||||
| 43 | a->length = j; | - | ||||||||||||
| 44 | return never executed: (1);return (1);never executed: return (1); | 0 | ||||||||||||
| 45 | } | - | ||||||||||||
| 46 | - | |||||||||||||
| 47 | long | - | ||||||||||||
| 48 | ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a) | - | ||||||||||||
| 49 | { | - | ||||||||||||
| 50 | int neg = 0, i; | - | ||||||||||||
| 51 | long r = 0; | - | ||||||||||||
| 52 | - | |||||||||||||
| 53 | if (a ==
| 0 | ||||||||||||
| 54 | ((void *)0)
| 0 | ||||||||||||
| 55 | ) | - | ||||||||||||
| 56 | return never executed: (0L);return (0L);never executed: return (0L); | 0 | ||||||||||||
| 57 | i = a->type; | - | ||||||||||||
| 58 | if (i == (10 | 0x100)
| 0 | ||||||||||||
| 59 | neg = 1; never executed: neg = 1; | 0 | ||||||||||||
| 60 | else if (i != 10
| 0 | ||||||||||||
| 61 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||
| 62 | - | |||||||||||||
| 63 | if (a->length > (int)sizeof(long)
| 0 | ||||||||||||
| 64 | - | |||||||||||||
| 65 | return never executed: -1;return -1;never executed: return -1; | 0 | ||||||||||||
| 66 | } | - | ||||||||||||
| 67 | if (a->data ==
| 0 | ||||||||||||
| 68 | ((void *)0)
| 0 | ||||||||||||
| 69 | ) | - | ||||||||||||
| 70 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||||||||
| 71 | - | |||||||||||||
| 72 | for (i = 0; i < a->length
| 0 | ||||||||||||
| 73 | r <<= 8; | - | ||||||||||||
| 74 | r |= (unsigned char)a->data[i]; | - | ||||||||||||
| 75 | } never executed: end of block | 0 | ||||||||||||
| 76 | if (neg
| 0 | ||||||||||||
| 77 | r = -r; never executed: r = -r; | 0 | ||||||||||||
| 78 | return never executed: (r);return (r);never executed: return (r); | 0 | ||||||||||||
| 79 | } | - | ||||||||||||
| 80 | - | |||||||||||||
| 81 | ASN1_ENUMERATED * | - | ||||||||||||
| 82 | BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai) | - | ||||||||||||
| 83 | { | - | ||||||||||||
| 84 | ASN1_ENUMERATED *ret; | - | ||||||||||||
| 85 | int len, j; | - | ||||||||||||
| 86 | - | |||||||||||||
| 87 | if (ai ==
| 0 | ||||||||||||
| 88 | ((void *)0)
| 0 | ||||||||||||
| 89 | ) | - | ||||||||||||
| 90 | ret = ASN1_ENUMERATED_new(); never executed: ret = ASN1_ENUMERATED_new(); | 0 | ||||||||||||
| 91 | else | - | ||||||||||||
| 92 | ret = ai; never executed: ret = ai; | 0 | ||||||||||||
| 93 | if (ret ==
| 0 | ||||||||||||
| 94 | ((void *)0)
| 0 | ||||||||||||
| 95 | ) { | - | ||||||||||||
| 96 | ERR_put_error(13,(0xfff),(58),__FILE__,147); | - | ||||||||||||
| 97 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 98 | } | - | ||||||||||||
| 99 | if (((
| 0 | ||||||||||||
| 100 | ret->type = (10 | 0x100); never executed: ret->type = (10 | 0x100); | 0 | ||||||||||||
| 101 | else | - | ||||||||||||
| 102 | ret->type = 10; never executed: ret->type = 10; | 0 | ||||||||||||
| 103 | j = BN_num_bits(bn); | - | ||||||||||||
| 104 | len = ((
| 0 | ||||||||||||
| 105 | if (ret->length < len + 4
| 0 | ||||||||||||
| 106 | unsigned char *new_data = realloc(ret->data, len + 4); | - | ||||||||||||
| 107 | if (!new_data
| 0 | ||||||||||||
| 108 | ERR_put_error(13,(0xfff),((1|64)),__FILE__,159); | - | ||||||||||||
| 109 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||||||||
| 110 | } | - | ||||||||||||
| 111 | ret->data = new_data; | - | ||||||||||||
| 112 | } never executed: end of block | 0 | ||||||||||||
| 113 | ret->length = BN_bn2bin(bn, ret->data); | - | ||||||||||||
| 114 | - | |||||||||||||
| 115 | - | |||||||||||||
| 116 | if (!ret->length
| 0 | ||||||||||||
| 117 | ret->data[0] = 0; | - | ||||||||||||
| 118 | ret->length = 1; | - | ||||||||||||
| 119 | } never executed: end of block | 0 | ||||||||||||
| 120 | return never executed: (ret);return (ret);never executed: return (ret); | 0 | ||||||||||||
| 121 | - | |||||||||||||
| 122 | err: | - | ||||||||||||
| 123 | if (ret != ai
| 0 | ||||||||||||
| 124 | ASN1_ENUMERATED_free(ret); never executed: ASN1_ENUMERATED_free(ret); | 0 | ||||||||||||
| 125 | return never executed: (return ( ((void *)0) );never executed: return ( ((void *)0) ); | 0 | ||||||||||||
| 126 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||
| 127 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||
| 128 | } | - | ||||||||||||
| 129 | - | |||||||||||||
| 130 | BIGNUM * | - | ||||||||||||
| 131 | ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn) | - | ||||||||||||
| 132 | { | - | ||||||||||||
| 133 | BIGNUM *ret; | - | ||||||||||||
| 134 | - | |||||||||||||
| 135 | if ((
| 0 | ||||||||||||
| 136 | ((void *)0)
| 0 | ||||||||||||
| 137 | ) | - | ||||||||||||
| 138 | ERR_put_error(13,(0xfff),(105),__FILE__,185); never executed: ERR_put_error(13,(0xfff),(105),__FILE__,185); | 0 | ||||||||||||
| 139 | else if (ai->type == (10 | 0x100)
| 0 | ||||||||||||
| 140 | BN_set_negative(ret, 1); never executed: BN_set_negative(ret, 1); | 0 | ||||||||||||
| 141 | return never executed: (ret);return (ret);never executed: return (ret); | 0 | ||||||||||||
| 142 | } | - | ||||||||||||
| Switch to Source code | Preprocessed file |