| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/asn1/p5_pbe.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||
| 2 | - | |||||||
| 3 | - | |||||||
| 4 | static const ASN1_TEMPLATE PBEPARAM_seq_tt[] = { | - | ||||||
| 5 | { (0), (0), | - | ||||||
| 6 | __builtin_offsetof ( | - | ||||||
| 7 | PBEPARAM | - | ||||||
| 8 | , | - | ||||||
| 9 | salt | - | ||||||
| 10 | ) | - | ||||||
| 11 | , "salt", (&(ASN1_OCTET_STRING_it)) }, | - | ||||||
| 12 | { (0), (0), | - | ||||||
| 13 | __builtin_offsetof ( | - | ||||||
| 14 | PBEPARAM | - | ||||||
| 15 | , | - | ||||||
| 16 | iter | - | ||||||
| 17 | ) | - | ||||||
| 18 | , "iter", (&(ASN1_INTEGER_it)) } | - | ||||||
| 19 | } ; const ASN1_ITEM PBEPARAM_it = { 0x1, 16, PBEPARAM_seq_tt, sizeof(PBEPARAM_seq_tt) / sizeof(ASN1_TEMPLATE), | - | ||||||
| 20 | ((void *)0) | - | ||||||
| 21 | , sizeof(PBEPARAM), "PBEPARAM" }; | - | ||||||
| 22 | - | |||||||
| 23 | PBEPARAM *d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) { return never executed: (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it)));return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it)));never executed: } int i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) { returnreturn (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it)));never executed: ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it)));return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it)));never executed: } PBEPARAM *PBEPARAM_new(void) { returnreturn ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it)));never executed: (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it)));return (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it)));never executed: } void PBEPARAM_free(PBEPARAM *a) { ASN1_item_free((ASN1_VALUE *)a, (&(PBEPARAM_it))); }return (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it)));never executed: end of block | 0 | ||||||
| 24 | - | |||||||
| 25 | - | |||||||
| 26 | - | |||||||
| 27 | int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, | - | ||||||
| 28 | const unsigned char *salt, int saltlen) | - | ||||||
| 29 | { | - | ||||||
| 30 | PBEPARAM *pbe = | - | ||||||
| 31 | ((void *)0) | - | ||||||
| 32 | ; | - | ||||||
| 33 | ASN1_STRING *pbe_str = | - | ||||||
| 34 | ((void *)0) | - | ||||||
| 35 | ; | - | ||||||
| 36 | unsigned char *sstr = | - | ||||||
| 37 | ((void *)0) | - | ||||||
| 38 | ; | - | ||||||
| 39 | - | |||||||
| 40 | pbe = PBEPARAM_new(); | - | ||||||
| 41 | if (pbe ==
| 0 | ||||||
| 42 | ((void *)0)
| 0 | ||||||
| 43 | ) { | - | ||||||
| 44 | ERR_put_error(13,(215),((1|64)),__FILE__,36); | - | ||||||
| 45 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||
| 46 | } | - | ||||||
| 47 | if (iter <= 0
| 0 | ||||||
| 48 | iter = 2048; never executed: iter = 2048; | 0 | ||||||
| 49 | if (!ASN1_INTEGER_set(pbe->iter, iter)
| 0 | ||||||
| 50 | ERR_put_error(13,(215),((1|64)),__FILE__,42); | - | ||||||
| 51 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||
| 52 | } | - | ||||||
| 53 | if (!saltlen
| 0 | ||||||
| 54 | saltlen = 8; never executed: saltlen = 8; | 0 | ||||||
| 55 | - | |||||||
| 56 | sstr = CRYPTO_malloc(saltlen, __FILE__, 48); | - | ||||||
| 57 | if (sstr ==
| 0 | ||||||
| 58 | ((void *)0)
| 0 | ||||||
| 59 | ) { | - | ||||||
| 60 | ERR_put_error(13,(215),((1|64)),__FILE__,50); | - | ||||||
| 61 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||
| 62 | } | - | ||||||
| 63 | if (salt
| 0 | ||||||
| 64 | memcpy(sstr, salt, saltlen); never executed: memcpy(sstr, salt, saltlen); | 0 | ||||||
| 65 | else if (RAND_bytes(sstr, saltlen) <= 0
| 0 | ||||||
| 66 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||
| 67 | - | |||||||
| 68 | ASN1_STRING_set0(pbe->salt, sstr, saltlen); | - | ||||||
| 69 | sstr = | - | ||||||
| 70 | ((void *)0) | - | ||||||
| 71 | ; | - | ||||||
| 72 | - | |||||||
| 73 | if (!ASN1_item_pack(pbe, (&(PBEPARAM_it)), &pbe_str)
| 0 | ||||||
| 74 | ERR_put_error(13,(215),((1|64)),__FILE__,62); | - | ||||||
| 75 | goto never executed: err;goto err;never executed: goto err; | 0 | ||||||
| 76 | } | - | ||||||
| 77 | - | |||||||
| 78 | PBEPARAM_free(pbe); | - | ||||||
| 79 | pbe = | - | ||||||
| 80 | ((void *)0) | - | ||||||
| 81 | ; | - | ||||||
| 82 | - | |||||||
| 83 | if (X509_ALGOR_set0(algor, OBJ_nid2obj(alg), 16, pbe_str)
| 0 | ||||||
| 84 | return never executed: 1;return 1;never executed: return 1; | 0 | ||||||
| 85 | - | |||||||
| 86 | err: code before this statement never executed: err: | 0 | ||||||
| 87 | CRYPTO_free(sstr, __FILE__, 73); | - | ||||||
| 88 | PBEPARAM_free(pbe); | - | ||||||
| 89 | ASN1_STRING_free(pbe_str); | - | ||||||
| 90 | return never executed: 0;return 0;never executed: return 0; | 0 | ||||||
| 91 | } | - | ||||||
| 92 | - | |||||||
| 93 | - | |||||||
| 94 | - | |||||||
| 95 | X509_ALGOR *PKCS5_pbe_set(int alg, int iter, | - | ||||||
| 96 | const unsigned char *salt, int saltlen) | - | ||||||
| 97 | { | - | ||||||
| 98 | X509_ALGOR *ret; | - | ||||||
| 99 | ret = X509_ALGOR_new(); | - | ||||||
| 100 | if (ret ==
| 0 | ||||||
| 101 | ((void *)0)
| 0 | ||||||
| 102 | ) { | - | ||||||
| 103 | ERR_put_error(13,(202),((1|64)),__FILE__,87); | - | ||||||
| 104 | return never executed: return ((void *)0) ;never executed: return ((void *)0) ; | 0 | ||||||
| 105 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||
| 106 | ; never executed: return ((void *)0) ; | 0 | ||||||
| 107 | } | - | ||||||
| 108 | - | |||||||
| 109 | if (PKCS5_pbe_set0_algor(ret, alg, iter, salt, saltlen)
| 0 | ||||||
| 110 | return never executed: ret;return ret;never executed: return ret; | 0 | ||||||
| 111 | - | |||||||
| 112 | X509_ALGOR_free(ret); | - | ||||||
| 113 | return never executed: return ((void *)0) ;never executed: return ((void *)0) ; | 0 | ||||||
| 114 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||
| 115 | ; never executed: return ((void *)0) ; | 0 | ||||||
| 116 | } | - | ||||||
| Switch to Source code | Preprocessed file |