| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/objects/obj_dat.c |
| Source code | Switch to Preprocessed file |
| Line | Source | Count | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | /* | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | * Licensed under the OpenSSL license (the "License"). You may not use | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | * this file except in compliance with the License. You can obtain a copy | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | * in the file LICENSE in the source distribution or at | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | * https://www.openssl.org/source/license.html | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | #include <stdio.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | #include "internal/ctype.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | #include <limits.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | #include "internal/cryptlib.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | #include <openssl/lhash.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | #include <openssl/asn1.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | #include "internal/objects.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | #include <openssl/bn.h> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | #include "internal/asn1_int.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | #include "obj_lcl.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | /* obj_dat.h is generated from objects.h by obj_dat.pl */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | #include "obj_dat.h" | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | DECLARE_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, sn); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | DECLARE_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, ln); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | DECLARE_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, obj); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | #define ADDED_DATA 0 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | #define ADDED_SNAME 1 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | #define ADDED_LNAME 2 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | #define ADDED_NID 3 | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | struct added_obj_st { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | int type; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | ASN1_OBJECT *obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | }; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | static int new_nid = NUM_NID; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | static LHASH_OF(ADDED_OBJ) *added = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | static int sn_cmp(const ASN1_OBJECT *const *a, const unsigned int *b) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | return strcmp((*a)->sn, nid_objs[*b].sn); executed 5402 times by 1 test: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( (*a)->sn ) && __builtin_constant_p ( nid_objs[*b].sn ) && (__s1_len = __builtin_strlen ( (*a)->sn ), __s2_len = __builtin_strlen ( nid_objs[*b].sn ), (!((size_t)(const void *)(( (*... *) (const char *) ( nid_objs[*b].sn ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( nid_objs[*b].sn ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( (*a)->sn , nid_objs[*b].sn )))); }) ;Executed by:
never executed: __result = (((const unsigned char *) (const char *) ( (*a)->sn ))[3] - __s2[3]);never executed: end of blocknever executed: end of blocknever executed: __result = (((const unsigned char *) (const char *) ( nid_objs[*b].sn ))[3] - __s2[3]);never executed: end of blocknever executed: end of block
| 0-5402 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | IMPLEMENT_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, sn); executed 5402 times by 1 test: return sn_cmp(a,b);Executed by:
executed 554 times by 1 test: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), sn_cmp_BSEARCH_CMP_FN);Executed by:
| 554-5402 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | static int ln_cmp(const ASN1_OBJECT *const *a, const unsigned int *b) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | return strcmp((*a)->ln, nid_objs[*b].ln); executed 1906 times by 1 test: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( (*a)->ln ) && __builtin_constant_p ( nid_objs[*b].ln ) && (__s1_len = __builtin_strlen ( (*a)->ln ), __s2_len = __builtin_strlen ( nid_objs[*b].ln ), (!((size_t)(const void *)(( (*... *) (const char *) ( nid_objs[*b].ln ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( nid_objs[*b].ln ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( (*a)->ln , nid_objs[*b].ln )))); }) ;Executed by:
never executed: __result = (((const unsigned char *) (const char *) ( (*a)->ln ))[3] - __s2[3]);never executed: end of blocknever executed: end of blocknever executed: __result = (((const unsigned char *) (const char *) ( nid_objs[*b].ln ))[3] - __s2[3]);never executed: end of blocknever executed: end of block
| 0-1906 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | IMPLEMENT_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, ln); executed 1906 times by 1 test: return ln_cmp(a,b);Executed by:
executed 183 times by 1 test: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), ln_cmp_BSEARCH_CMP_FN);Executed by:
| 183-1906 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | static unsigned long added_obj_hash(const ADDED_OBJ *ca) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | const ASN1_OBJECT *a; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | unsigned long ret = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | unsigned char *p; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | a = ca->obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | switch (ca->type) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | case ADDED_DATA: executed 368 times by 1 test: case 0:Executed by:
| 368 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | ret = a->length << 20L; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | p = (unsigned char *)a->data; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | for (i = 0; i < a->length; i++)
| 368-1746 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | ret ^= p[i] << ((i * 3) % 24); executed 1746 times by 1 test: ret ^= p[i] << ((i * 3) % 24);Executed by:
| 1746 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | break; executed 368 times by 1 test: break;Executed by:
| 368 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | case ADDED_SNAME: executed 219 times by 1 test: case 1:Executed by:
| 219 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | ret = OPENSSL_LH_strhash(a->sn); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | break; executed 219 times by 1 test: break;Executed by:
| 219 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 73 | case ADDED_LNAME: executed 135 times by 1 test: case 2:Executed by:
| 135 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 74 | ret = OPENSSL_LH_strhash(a->ln); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 75 | break; executed 135 times by 1 test: break;Executed by:
| 135 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 76 | case ADDED_NID: executed 95 times by 1 test: case 3:Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 77 | ret = a->nid; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 78 | break; executed 95 times by 1 test: break;Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 79 | default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 80 | /* abort(); */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 81 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 82 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 83 | ret &= 0x3fffffffL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 84 | ret |= ((unsigned long)ca->type) << 30L; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 85 | return ret; executed 817 times by 1 test: return ret;Executed by:
| 817 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 86 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 87 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 88 | static int added_obj_cmp(const ADDED_OBJ *ca, const ADDED_OBJ *cb) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 89 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 90 | ASN1_OBJECT *a, *b; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 91 | int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 92 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 93 | i = ca->type - cb->type; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 94 | if (i)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 95 | return i; never executed: return i; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 96 | a = ca->obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 97 | b = cb->obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 98 | switch (ca->type) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 99 | case ADDED_DATA: never executed: case 0: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | i = (a->length - b->length); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 101 | if (i)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 102 | return i; never executed: return i; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 103 | return memcmp(a->data, b->data, (size_t)a->length); never executed: return memcmp(a->data, b->data, (size_t)a->length); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 104 | case ADDED_SNAME: never executed: case 1: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 105 | if (a->sn == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 106 | return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 107 | else if (b->sn == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 108 | return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 109 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 110 | return strcmp(a->sn, b->sn); never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->sn ) && __builtin_constant_p ( b->sn ) && (__s1_len = __builtin_strlen ( a->sn ), __s2_len = __builtin_strlen ( b->sn ), (!((size_t)(const void *)(( a->sn ) + 1) - (size_t)(cons...__result = (((const unsigned char *) (const char *) ( b->sn ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->sn ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->sn , b->sn )))); }) ;never executed: __result = (((const unsigned char *) (const char *) ( a->sn ))[3] - __s2[3]);never executed: end of blocknever executed: end of blocknever executed: __result = (((const unsigned char *) (const char *) ( b->sn ))[3] - __s2[3]);never executed: end of blocknever executed: end of block
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 111 | case ADDED_LNAME: never executed: case 2: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 112 | if (a->ln == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 113 | return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 114 | else if (b->ln == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 115 | return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 116 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 117 | return strcmp(a->ln, b->ln); never executed: return __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->ln ) && __builtin_constant_p ( b->ln ) && (__s1_len = __builtin_strlen ( a->ln ), __s2_len = __builtin_strlen ( b->ln ), (!((size_t)(const void *)(( a->ln ) + 1) - (size_t)(cons...__result = (((const unsigned char *) (const char *) ( b->ln ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->ln ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->ln , b->ln )))); }) ;never executed: __result = (((const unsigned char *) (const char *) ( a->ln ))[3] - __s2[3]);never executed: end of blocknever executed: end of blocknever executed: __result = (((const unsigned char *) (const char *) ( b->ln ))[3] - __s2[3]);never executed: end of blocknever executed: end of block
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 118 | case ADDED_NID: never executed: case 3: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 119 | return a->nid - b->nid; never executed: return a->nid - b->nid; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 120 | default: never executed: default: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 121 | /* abort(); */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 122 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 123 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 124 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 125 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 126 | static int init_added(void) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 127 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 128 | if (added != NULL)
| 0-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 129 | return 1; never executed: return 1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 130 | added = lh_ADDED_OBJ_new(added_obj_hash, added_obj_cmp); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 131 | return added != NULL; executed 61 times by 1 test: return added != ((void *)0) ;Executed by:
| 61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 132 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 133 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 134 | static void cleanup1_doall(ADDED_OBJ *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 135 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 136 | a->obj->nid = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 137 | a->obj->flags |= ASN1_OBJECT_FLAG_DYNAMIC | | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 138 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS | ASN1_OBJECT_FLAG_DYNAMIC_DATA; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 139 | } executed 380 times by 1 test: end of blockExecuted by:
| 380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 140 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 141 | static void cleanup2_doall(ADDED_OBJ *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 142 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 143 | a->obj->nid++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 144 | } executed 380 times by 1 test: end of blockExecuted by:
| 380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 145 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 146 | static void cleanup3_doall(ADDED_OBJ *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 147 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 148 | if (--a->obj->nid == 0)
| 95-285 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 149 | ASN1_OBJECT_free(a->obj); executed 95 times by 1 test: ASN1_OBJECT_free(a->obj);Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 150 | OPENSSL_free(a); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 151 | } executed 380 times by 1 test: end of blockExecuted by:
| 380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 152 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 153 | void obj_cleanup_int(void) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 154 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 155 | if (added == NULL)
| 61-2015 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 156 | return; executed 2015 times by 12 tests: return;Executed by:
| 2015 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 157 | lh_ADDED_OBJ_set_down_load(added, 0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 158 | lh_ADDED_OBJ_doall(added, cleanup1_doall); /* zero counters */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 159 | lh_ADDED_OBJ_doall(added, cleanup2_doall); /* set counters */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 160 | lh_ADDED_OBJ_doall(added, cleanup3_doall); /* free objects */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 161 | lh_ADDED_OBJ_free(added); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 162 | added = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 163 | } executed 61 times by 1 test: end of blockExecuted by:
| 61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 164 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 165 | int OBJ_new_nid(int num) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 166 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 167 | int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 168 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 169 | i = new_nid; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 170 | new_nid += num; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 171 | return i; executed 95 times by 1 test: return i;Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 172 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 173 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 174 | int OBJ_add_object(const ASN1_OBJECT *obj) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 175 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 176 | ASN1_OBJECT *o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 177 | ADDED_OBJ *ao[4] = { NULL, NULL, NULL, NULL }, *aop; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 178 | int i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 179 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 180 | if (added == NULL)
| 34-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 181 | if (!init_added())
| 0-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 182 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 183 | if ((o = OBJ_dup(obj)) == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 184 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 185 | if ((ao[ADDED_NID] = OPENSSL_malloc(sizeof(*ao[0]))) == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 186 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 187 | if ((o->length != 0) && (obj->data != NULL))
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 188 | if ((ao[ADDED_DATA] = OPENSSL_malloc(sizeof(*ao[0]))) == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 189 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 190 | if (o->sn != NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 191 | if ((ao[ADDED_SNAME] = OPENSSL_malloc(sizeof(*ao[0]))) == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 192 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 193 | if (o->ln != NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 194 | if ((ao[ADDED_LNAME] = OPENSSL_malloc(sizeof(*ao[0]))) == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 195 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 196 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 197 | for (i = ADDED_DATA; i <= ADDED_NID; i++) {
| 95-380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 198 | if (ao[i] != NULL) {
| 0-380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 199 | ao[i]->type = i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 200 | ao[i]->obj = o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 201 | aop = lh_ADDED_OBJ_insert(added, ao[i]); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 202 | /* memory leak, but should not normally matter */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 203 | OPENSSL_free(aop); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 204 | } executed 380 times by 1 test: end of blockExecuted by:
| 380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 205 | } executed 380 times by 1 test: end of blockExecuted by:
| 380 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 206 | o->flags &= | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 207 | ~(ASN1_OBJECT_FLAG_DYNAMIC | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS | | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 208 | ASN1_OBJECT_FLAG_DYNAMIC_DATA); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 209 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 210 | return o->nid; executed 95 times by 1 test: return o->nid;Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 211 | err2: | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 212 | OBJerr(OBJ_F_OBJ_ADD_OBJECT, ERR_R_MALLOC_FAILURE); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 213 | err: code before this statement never executed: err: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 214 | for (i = ADDED_DATA; i <= ADDED_NID; i++)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 215 | OPENSSL_free(ao[i]); never executed: CRYPTO_free(ao[i], __FILE__, 215); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 216 | ASN1_OBJECT_free(o); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 217 | return NID_undef; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 218 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 219 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 220 | ASN1_OBJECT *OBJ_nid2obj(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 221 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 222 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 223 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 224 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 225 | if ((n >= 0) && (n < NUM_NID)) {
| 0-1670817 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 226 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 0-933928 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 227 | OBJerr(OBJ_F_OBJ_NID2OBJ, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 228 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 229 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 230 | return (ASN1_OBJECT *)&(nid_objs[n]); executed 1670817 times by 1 test: return (ASN1_OBJECT *)&(nid_objs[n]);Executed by:
| 1670817 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 231 | } else if (added == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 232 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 233 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 234 | ad.type = ADDED_NID; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 235 | ad.obj = &ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 236 | ob.nid = n; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 237 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 238 | if (adp != NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 239 | return adp->obj; never executed: return adp->obj; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 240 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 241 | OBJerr(OBJ_F_OBJ_NID2OBJ, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 242 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 243 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 244 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 245 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 246 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 247 | const char *OBJ_nid2sn(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 248 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 249 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 250 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 251 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 252 | if ((n >= 0) && (n < NUM_NID)) {
| 0-501718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 253 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 0-501718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 254 | OBJerr(OBJ_F_OBJ_NID2SN, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 255 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 256 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 257 | return nid_objs[n].sn; executed 501718 times by 1 test: return nid_objs[n].sn;Executed by:
| 501718 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 258 | } else if (added == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 259 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 260 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 261 | ad.type = ADDED_NID; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 262 | ad.obj = &ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 263 | ob.nid = n; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 264 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 265 | if (adp != NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 266 | return adp->obj->sn; never executed: return adp->obj->sn; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 267 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 268 | OBJerr(OBJ_F_OBJ_NID2SN, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 269 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 270 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 271 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 272 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 273 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 274 | const char *OBJ_nid2ln(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 275 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 276 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 277 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 278 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 279 | if ((n >= 0) && (n < NUM_NID)) {
| 0-650357 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 280 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 0-645927 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 281 | OBJerr(OBJ_F_OBJ_NID2LN, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 282 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 283 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 284 | return nid_objs[n].ln; executed 650357 times by 1 test: return nid_objs[n].ln;Executed by:
| 650357 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 285 | } else if (added == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 286 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 287 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 288 | ad.type = ADDED_NID; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 289 | ad.obj = &ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 290 | ob.nid = n; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 291 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 292 | if (adp != NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 293 | return adp->obj->ln; never executed: return adp->obj->ln; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 294 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 295 | OBJerr(OBJ_F_OBJ_NID2LN, OBJ_R_UNKNOWN_NID); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 296 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 297 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 298 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 299 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 300 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 301 | static int obj_cmp(const ASN1_OBJECT *const *ap, const unsigned int *bp) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 302 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 303 | int j; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 304 | const ASN1_OBJECT *a = *ap; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 305 | const ASN1_OBJECT *b = &nid_objs[*bp]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 306 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 307 | j = (a->length - b->length); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 308 | if (j)
| 4911503-5136773 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 309 | return j; executed 5136773 times by 1 test: return j;Executed by:
| 5136773 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 310 | if (a->length == 0)
| 0-4911503 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 311 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 312 | return memcmp(a->data, b->data, a->length); executed 4911503 times by 1 test: return memcmp(a->data, b->data, a->length);Executed by:
| 4911503 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 313 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 314 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 315 | IMPLEMENT_OBJ_BSEARCH_CMP_FN(const ASN1_OBJECT *, unsigned int, obj); executed 10048276 times by 1 test: return obj_cmp(a,b);Executed by:
executed 1084412 times by 1 test: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), obj_cmp_BSEARCH_CMP_FN);Executed by:
| 1084412-10048276 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 316 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 317 | int OBJ_obj2nid(const ASN1_OBJECT *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 318 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 319 | const unsigned int *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 320 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 321 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 322 | if (a == NULL)
| 0-2723834 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 323 | return NID_undef; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 324 | if (a->nid != 0)
| 1102875-1620959 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 325 | return a->nid; executed 1620959 times by 1 test: return a->nid;Executed by:
| 1620959 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 326 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 327 | if (a->length == 0)
| 18463-1084412 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 328 | return NID_undef; executed 18463 times by 1 test: return 0;Executed by:
| 18463 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 329 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 330 | if (added != NULL) {
| 273-1084139 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 331 | ad.type = ADDED_DATA; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 332 | ad.obj = (ASN1_OBJECT *)a; /* XXX: ugly but harmless */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 333 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 334 | if (adp != NULL)
| 0-273 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 335 | return adp->obj->nid; never executed: return adp->obj->nid; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 336 | } executed 273 times by 1 test: end of blockExecuted by:
| 273 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 337 | op = OBJ_bsearch_obj(&a, obj_objs, NUM_OBJ); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 338 | if (op == NULL)
| 507315-577097 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 339 | return NID_undef; executed 507315 times by 1 test: return 0;Executed by:
| 507315 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 340 | return nid_objs[*op].nid; executed 577097 times by 1 test: return nid_objs[*op].nid;Executed by:
| 577097 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 341 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 342 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 343 | /* | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 344 | * Convert an object name into an ASN1_OBJECT if "noname" is not set then | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 345 | * search for short and long names first. This will convert the "dotted" form | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 346 | * into an object: unlike OBJ_txt2nid it can be used with any objects, not | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 347 | * just registered ones. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 348 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 349 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 350 | ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 351 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 352 | int nid = NID_undef; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 353 | ASN1_OBJECT *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 354 | unsigned char *buf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 355 | unsigned char *p; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 356 | const unsigned char *cp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 357 | int i, j; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 358 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 359 | if (!no_name) {
| 89-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 360 | if (((nid = OBJ_sn2nid(s)) != NID_undef) ||
| 28-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 361 | ((nid = OBJ_ln2nid(s)) != NID_undef))
| 0-61 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 362 | return OBJ_nid2obj(nid); executed 89 times by 1 test: return OBJ_nid2obj(nid);Executed by:
| 89 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 363 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 364 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 365 | /* Work out size of content octets */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 366 | i = a2d_ASN1_OBJECT(NULL, 0, s, -1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 367 | if (i <= 0) {
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 368 | /* Don't clear the error */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 369 | /* | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 370 | * ERR_clear_error(); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 371 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 372 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 373 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 374 | /* Work out total size */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 375 | j = ASN1_object_size(0, i, V_ASN1_OBJECT); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 376 | if (j < 0)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 377 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 378 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 379 | if ((buf = OPENSSL_malloc(j)) == NULL) {
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 380 | OBJerr(OBJ_F_OBJ_TXT2OBJ, ERR_R_MALLOC_FAILURE); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 381 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 382 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 383 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 384 | p = buf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 385 | /* Write out tag+length */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 386 | ASN1_put_object(&p, 0, i, V_ASN1_OBJECT, V_ASN1_UNIVERSAL); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 387 | /* Write out contents */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 388 | a2d_ASN1_OBJECT(p, i, s, -1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 389 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 390 | cp = buf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 391 | op = d2i_ASN1_OBJECT(NULL, &cp, j); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 392 | OPENSSL_free(buf); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 393 | return op; executed 95 times by 1 test: return op;Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 394 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 395 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 396 | int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 397 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 398 | int i, n = 0, len, nid, first, use_bn; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 399 | BIGNUM *bl; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 400 | unsigned long l; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 401 | const unsigned char *p; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 402 | char tbuf[DECIMAL_SIZE(i) + DECIMAL_SIZE(l) + 2]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 403 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 404 | /* Ensure that, at every state, |buf| is NUL-terminated. */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 405 | if (buf && buf_len > 0)
| 0-364647 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 406 | buf[0] = '\0'; executed 364647 times by 1 test: buf[0] = '\0';Executed by:
| 364647 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 407 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 408 | if ((a == NULL) || (a->data == NULL))
| 0-364647 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 409 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 410 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 411 | if (!no_name && (nid = OBJ_obj2nid(a)) != NID_undef) {
| 17179-347468 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 412 | const char *s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 413 | s = OBJ_nid2ln(nid); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 414 | if (s == NULL)
| 0-232788 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 415 | s = OBJ_nid2sn(nid); never executed: s = OBJ_nid2sn(nid); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 416 | if (s) {
| 0-232788 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 417 | if (buf)
| 0-232788 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 418 | OPENSSL_strlcpy(buf, s, buf_len); executed 232788 times by 1 test: OPENSSL_strlcpy(buf, s, buf_len);Executed by:
| 232788 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 419 | n = strlen(s); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 420 | return n; executed 232788 times by 1 test: return n;Executed by:
| 232788 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 421 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 422 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 423 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 424 | len = a->length; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 425 | p = a->data; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 426 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 427 | first = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 428 | bl = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 429 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 430 | while (len > 0) {
| 131859-365129 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 431 | l = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 432 | use_bn = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 433 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 434 | unsigned char c = *p++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 435 | len--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 436 | if ((len == 0) && (c & 0x80))
| 0-490059 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 437 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 438 | if (use_bn) {
| 98849-523069 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 439 | if (!BN_add_word(bl, c & 0x7f))
| 0-98849 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 440 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 441 | } else executed 98849 times by 1 test: end of blockExecuted by:
| 98849 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 442 | l |= c & 0x7f; executed 523069 times by 1 test: l |= c & 0x7f;Executed by:
| 523069 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 443 | if (!(c & 0x80))
| 256789-365129 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 444 | break; executed 365129 times by 1 test: break;Executed by:
| 365129 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 445 | if (!use_bn && (l > (ULONG_MAX >> 7L))) {
| 8819-166759 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 446 | if (bl == NULL && (bl = BN_new()) == NULL)
| 0-4558 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 447 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 448 | if (!BN_set_word(bl, l))
| 0-8819 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 449 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 450 | use_bn = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 451 | } executed 8819 times by 1 test: end of blockExecuted by:
| 8819 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 452 | if (use_bn) {
| 98849-157940 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 453 | if (!BN_lshift(bl, bl, 7))
| 0-98849 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 454 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 455 | } else executed 98849 times by 1 test: end of blockExecuted by:
| 98849 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 456 | l <<= 7L; executed 157940 times by 1 test: l <<= 7L;Executed by:
| 157940 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 457 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 458 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 459 | if (first) {
| 131859-233270 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 460 | first = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 461 | if (l >= 80) {
| 45144-86715 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 462 | i = 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 463 | if (use_bn) {
| 3222-41922 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 464 | if (!BN_sub_word(bl, 80))
| 0-3222 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 465 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 466 | } else executed 3222 times by 1 test: end of blockExecuted by:
| 3222 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 467 | l -= 80; executed 41922 times by 1 test: l -= 80;Executed by:
| 41922 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 468 | } else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 469 | i = (int)(l / 40); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 470 | l -= (long)(i * 40); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 471 | } executed 86715 times by 1 test: end of blockExecuted by:
| 86715 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 472 | if (buf && (buf_len > 1)) {
| 0-131859 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 473 | *buf++ = i + '0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 474 | *buf = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 475 | buf_len--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 476 | } executed 131859 times by 1 test: end of blockExecuted by:
| 131859 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 477 | n++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 478 | } executed 131859 times by 1 test: end of blockExecuted by:
| 131859 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 479 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 480 | if (use_bn) {
| 8819-356310 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 481 | char *bndec; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 482 | bndec = BN_bn2dec(bl); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 483 | if (!bndec)
| 0-8819 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 484 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 485 | i = strlen(bndec); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 486 | if (buf) {
| 0-8819 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 487 | if (buf_len > 1) {
| 1919-6900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 488 | *buf++ = '.'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 489 | *buf = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 490 | buf_len--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 491 | } executed 6900 times by 1 test: end of blockExecuted by:
| 6900 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 492 | OPENSSL_strlcpy(buf, bndec, buf_len); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 493 | if (i > buf_len) {
| 3062-5757 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 494 | buf += buf_len; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 495 | buf_len = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 496 | } else { executed 3062 times by 1 test: end of blockExecuted by:
| 3062 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 497 | buf += i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 498 | buf_len -= i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 499 | } executed 5757 times by 1 test: end of blockExecuted by:
| 5757 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 500 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 501 | n++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 502 | n += i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 503 | OPENSSL_free(bndec); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 504 | } else { executed 8819 times by 1 test: end of blockExecuted by:
| 8819 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 505 | BIO_snprintf(tbuf, sizeof(tbuf), ".%lu", l); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 506 | i = strlen(tbuf); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 507 | if (buf && (buf_len > 0)) {
| 0-356310 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 508 | OPENSSL_strlcpy(buf, tbuf, buf_len); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 509 | if (i > buf_len) {
| 1171-331698 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 510 | buf += buf_len; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 511 | buf_len = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 512 | } else { executed 1171 times by 1 test: end of blockExecuted by:
| 1171 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 513 | buf += i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 514 | buf_len -= i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 515 | } executed 331698 times by 1 test: end of blockExecuted by:
| 331698 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 516 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 517 | n += i; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 518 | l = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 519 | } executed 356310 times by 1 test: end of blockExecuted by:
| 356310 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 520 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 521 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 522 | BN_free(bl); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 523 | return n; executed 131859 times by 1 test: return n;Executed by:
| 131859 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 524 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 525 | err: | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 526 | BN_free(bl); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 527 | return -1; never executed: return -1; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 528 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 529 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 530 | int OBJ_txt2nid(const char *s) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 531 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 532 | ASN1_OBJECT *obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 533 | int nid; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 534 | obj = OBJ_txt2obj(s, 0); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 535 | nid = OBJ_obj2nid(obj); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 536 | ASN1_OBJECT_free(obj); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 537 | return nid; executed 65 times by 1 test: return nid;Executed by:
| 65 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 538 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 539 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 540 | int OBJ_ln2nid(const char *s) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 541 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 542 | ASN1_OBJECT o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 543 | const ASN1_OBJECT *oo = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 544 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 545 | const unsigned int *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 546 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 547 | o.ln = s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 548 | if (added != NULL) {
| 40-143 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 549 | ad.type = ADDED_LNAME; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 550 | ad.obj = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 551 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 552 | if (adp != NULL)
| 0-40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 553 | return adp->obj->nid; never executed: return adp->obj->nid; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 554 | } executed 40 times by 1 test: end of blockExecuted by:
| 40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 555 | op = OBJ_bsearch_ln(&oo, ln_objs, NUM_LN); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 556 | if (op == NULL)
| 71-112 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 557 | return NID_undef; executed 112 times by 1 test: return 0;Executed by:
| 112 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 558 | return nid_objs[*op].nid; executed 71 times by 1 test: return nid_objs[*op].nid;Executed by:
| 71 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 559 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 560 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 561 | int OBJ_sn2nid(const char *s) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 562 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 563 | ASN1_OBJECT o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 564 | const ASN1_OBJECT *oo = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 565 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 566 | const unsigned int *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 567 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 568 | o.sn = s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 569 | if (added != NULL) {
| 124-430 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 570 | ad.type = ADDED_SNAME; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 571 | ad.obj = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 572 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 573 | if (adp != NULL)
| 0-124 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 574 | return adp->obj->nid; never executed: return adp->obj->nid; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 575 | } executed 124 times by 1 test: end of blockExecuted by:
| 124 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 576 | op = OBJ_bsearch_sn(&oo, sn_objs, NUM_SN); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 577 | if (op == NULL)
| 184-370 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 578 | return NID_undef; executed 184 times by 1 test: return 0;Executed by:
| 184 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 579 | return nid_objs[*op].nid; executed 370 times by 1 test: return nid_objs[*op].nid;Executed by:
| 370 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 580 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 581 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 582 | const void *OBJ_bsearch_(const void *key, const void *base, int num, int size, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 583 | int (*cmp) (const void *, const void *)) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 584 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 585 | return OBJ_bsearch_ex_(key, base, num, size, cmp, 0); executed 1676430 times by 1 test: return OBJ_bsearch_ex_(key, base, num, size, cmp, 0);Executed by:
| 1676430 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 586 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 587 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 588 | const void *OBJ_bsearch_ex_(const void *key, const void *base_, int num, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 589 | int size, | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 590 | int (*cmp) (const void *, const void *), | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 591 | int flags) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 592 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 593 | const char *base = base_; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 594 | int l, h, i = 0, c = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 595 | const char *p = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 596 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 597 | if (num == 0)
| 0-1681873 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 598 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 599 | l = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 600 | h = num; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 601 | while (l < h) {
| 632437-12512541 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 602 | i = (l + h) / 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 603 | p = &(base[i * size]); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 604 | c = (*cmp) (key, p); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 605 | if (c < 0)
| 5100626-7411915 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 606 | h = i; executed 7411915 times by 1 test: h = i;Executed by:
| 7411915 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 607 | else if (c > 0)
| 1049436-4051190 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 608 | l = i + 1; executed 4051190 times by 1 test: l = i + 1;Executed by:
| 4051190 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 609 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 610 | break; executed 1049436 times by 1 test: break;Executed by:
| 1049436 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 611 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 612 | #ifdef CHARSET_EBCDIC | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 613 | /* | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 614 | * THIS IS A KLUDGE - Because the *_obj is sorted in ASCII order, and I | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 615 | * don't have perl (yet), we revert to a *LINEAR* search when the object | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 616 | * wasn't found in the binary search. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 617 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 618 | if (c != 0) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 619 | for (i = 0; i < num; ++i) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 620 | p = &(base[i * size]); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 621 | c = (*cmp) (key, p); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 622 | if (c == 0 || (c < 0 && (flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 623 | return p; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 624 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 625 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 626 | #endif | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 627 | if (c != 0 && !(flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))
| 28-1049436 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 628 | p = NULL; executed 632409 times by 1 test: p = ((void *)0) ;Executed by:
| 632409 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 629 | else if (c == 0 && (flags & OBJ_BSEARCH_FIRST_VALUE_ON_MATCH)) {
| 28-1049436 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 630 | while (i > 0 && (*cmp) (key, &(base[(i - 1) * size])) == 0)
| 0-3374 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 631 | i--; never executed: i--; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 632 | p = &(base[i * size]); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 633 | } executed 5298 times by 1 test: end of blockExecuted by:
| 5298 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 634 | return p; executed 1681873 times by 1 test: return p;Executed by:
| 1681873 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 635 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 636 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 637 | /* | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 638 | * Parse a BIO sink to create some extra oid's objects. | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 639 | * Line format:<OID:isdigit or '.']><isspace><SN><isspace><LN> | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 640 | */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 641 | int OBJ_create_objects(BIO *in) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 642 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 643 | char buf[512]; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 644 | int i, num = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 645 | char *o, *s, *l = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 646 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 647 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 648 | s = o = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 649 | i = BIO_gets(in, buf, 512); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 650 | if (i <= 0)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 651 | return num; never executed: return num; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 652 | buf[i - 1] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 653 | if (!ossl_isalnum(buf[0]))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 654 | return num; never executed: return num; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 655 | o = s = buf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 656 | while (ossl_isdigit(*s) || *s == '.')
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 657 | s++; never executed: s++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 658 | if (*s != '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 659 | *(s++) = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 660 | while (ossl_isspace(*s))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 661 | s++; never executed: s++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 662 | if (*s == '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 663 | s = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 664 | } else { never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 665 | l = s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 666 | while (*l != '\0' && !ossl_isspace(*l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 667 | l++; never executed: l++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 668 | if (*l != '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 669 | *(l++) = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 670 | while (ossl_isspace(*l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 671 | l++; never executed: l++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 672 | if (*l == '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 673 | l = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 674 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 675 | } else { never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 676 | l = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 677 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 678 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 679 | } else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 680 | s = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 681 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 682 | if (*o == '\0')
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 683 | return num; never executed: return num; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 684 | if (!OBJ_create(o, s, l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 685 | return num; never executed: return num; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 686 | num++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 687 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 688 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 689 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 690 | int OBJ_create(const char *oid, const char *sn, const char *ln) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 691 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 692 | ASN1_OBJECT *tmpoid = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 693 | int ok = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 694 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 695 | /* Check to see if short or long name already present */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 696 | if ((sn != NULL && OBJ_sn2nid(sn) != NID_undef)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 697 | || (ln != NULL && OBJ_ln2nid(ln) != NID_undef)) {
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 698 | OBJerr(OBJ_F_OBJ_CREATE, OBJ_R_OID_EXISTS); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 699 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 700 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 701 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 702 | /* Convert numerical OID string to an ASN1_OBJECT structure */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 703 | tmpoid = OBJ_txt2obj(oid, 1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 704 | if (tmpoid == NULL)
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 705 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 706 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 707 | /* If NID is not NID_undef then object already exists */ | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 708 | if (OBJ_obj2nid(tmpoid) != NID_undef) {
| 0-95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 709 | OBJerr(OBJ_F_OBJ_CREATE, OBJ_R_OID_EXISTS); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 710 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 711 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 712 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 713 | tmpoid->nid = OBJ_new_nid(1); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 714 | tmpoid->sn = (char *)sn; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 715 | tmpoid->ln = (char *)ln; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 716 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 717 | ok = OBJ_add_object(tmpoid); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 718 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 719 | tmpoid->sn = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 720 | tmpoid->ln = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 721 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 722 | err: code before this statement executed 95 times by 1 test: err:Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 723 | ASN1_OBJECT_free(tmpoid); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 724 | return ok; executed 95 times by 1 test: return ok;Executed by:
| 95 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 725 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 726 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 727 | size_t OBJ_length(const ASN1_OBJECT *obj) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 728 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 729 | if (obj == NULL)
| 0-1567 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 730 | return 0; never executed: return 0; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 731 | return obj->length; executed 1567 times by 1 test: return obj->length;Executed by:
| 1567 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 732 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 733 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 734 | const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 735 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 736 | if (obj == NULL)
| 0-45 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 737 | return NULL; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 738 | return obj->data; executed 45 times by 1 test: return obj->data;Executed by:
| 45 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 739 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Source code | Switch to Preprocessed file |