diff options
author | beck <> | 2000-12-15 02:58:47 +0000 |
---|---|---|
committer | beck <> | 2000-12-15 02:58:47 +0000 |
commit | 9200bb13d15da4b2a23e6bc92c20e95b74aa2113 (patch) | |
tree | 5c52d628ec1e34be76e7ef2a4235d248b7c44d24 /src/lib/libcrypto/objects/obj_dat.c | |
parent | e131d25072e3d4197ba4b9bcc0d1b27d34d6488d (diff) | |
download | openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.gz openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.tar.bz2 openbsd-9200bb13d15da4b2a23e6bc92c20e95b74aa2113.zip |
openssl-engine-0.9.6 merge
Diffstat (limited to 'src/lib/libcrypto/objects/obj_dat.c')
-rw-r--r-- | src/lib/libcrypto/objects/obj_dat.c | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index da6df3762a..4b1bb9583a 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
@@ -79,9 +79,9 @@ static ASN1_OBJECT *ln_objs[1]; | |||
79 | static ASN1_OBJECT *obj_objs[1]; | 79 | static ASN1_OBJECT *obj_objs[1]; |
80 | #endif | 80 | #endif |
81 | 81 | ||
82 | static int sn_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 82 | static int sn_cmp(const void *a, const void *b); |
83 | static int ln_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 83 | static int ln_cmp(const void *a, const void *b); |
84 | static int obj_cmp(ASN1_OBJECT **a, ASN1_OBJECT **b); | 84 | static int obj_cmp(const void *a, const void *b); |
85 | #define ADDED_DATA 0 | 85 | #define ADDED_DATA 0 |
86 | #define ADDED_SNAME 1 | 86 | #define ADDED_SNAME 1 |
87 | #define ADDED_LNAME 2 | 87 | #define ADDED_LNAME 2 |
@@ -96,11 +96,17 @@ typedef struct added_obj_st | |||
96 | static int new_nid=NUM_NID; | 96 | static int new_nid=NUM_NID; |
97 | static LHASH *added=NULL; | 97 | static LHASH *added=NULL; |
98 | 98 | ||
99 | static int sn_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) | 99 | static int sn_cmp(const void *a, const void *b) |
100 | { return(strcmp((*ap)->sn,(*bp)->sn)); } | 100 | { |
101 | const ASN1_OBJECT * const *ap = a, * const *bp = b; | ||
102 | return(strcmp((*ap)->sn,(*bp)->sn)); | ||
103 | } | ||
101 | 104 | ||
102 | static int ln_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) | 105 | static int ln_cmp(const void *a, const void *b) |
103 | { return(strcmp((*ap)->ln,(*bp)->ln)); } | 106 | { |
107 | const ASN1_OBJECT * const *ap = a, * const *bp = b; | ||
108 | return(strcmp((*ap)->ln,(*bp)->ln)); | ||
109 | } | ||
104 | 110 | ||
105 | static unsigned long add_hash(ADDED_OBJ *ca) | 111 | static unsigned long add_hash(ADDED_OBJ *ca) |
106 | { | 112 | { |
@@ -128,7 +134,8 @@ static unsigned long add_hash(ADDED_OBJ *ca) | |||
128 | ret=a->nid; | 134 | ret=a->nid; |
129 | break; | 135 | break; |
130 | default: | 136 | default: |
131 | abort(); | 137 | /* abort(); */ |
138 | return 0; | ||
132 | } | 139 | } |
133 | ret&=0x3fffffffL; | 140 | ret&=0x3fffffffL; |
134 | ret|=ca->type<<30L; | 141 | ret|=ca->type<<30L; |
@@ -161,7 +168,8 @@ static int add_cmp(ADDED_OBJ *ca, ADDED_OBJ *cb) | |||
161 | case ADDED_NID: | 168 | case ADDED_NID: |
162 | return(a->nid-b->nid); | 169 | return(a->nid-b->nid); |
163 | default: | 170 | default: |
164 | abort(); | 171 | /* abort(); */ |
172 | return 0; | ||
165 | } | 173 | } |
166 | return(1); /* should not get here */ | 174 | return(1); /* should not get here */ |
167 | } | 175 | } |
@@ -188,7 +196,7 @@ static void cleanup3(ADDED_OBJ *a) | |||
188 | { | 196 | { |
189 | if (--a->obj->nid == 0) | 197 | if (--a->obj->nid == 0) |
190 | ASN1_OBJECT_free(a->obj); | 198 | ASN1_OBJECT_free(a->obj); |
191 | Free(a); | 199 | OPENSSL_free(a); |
192 | } | 200 | } |
193 | 201 | ||
194 | void OBJ_cleanup(void) | 202 | void OBJ_cleanup(void) |
@@ -220,13 +228,13 @@ int OBJ_add_object(ASN1_OBJECT *obj) | |||
220 | if (added == NULL) | 228 | if (added == NULL) |
221 | if (!init_added()) return(0); | 229 | if (!init_added()) return(0); |
222 | if ((o=OBJ_dup(obj)) == NULL) goto err; | 230 | if ((o=OBJ_dup(obj)) == NULL) goto err; |
223 | ao[ADDED_NID]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ)); | 231 | ao[ADDED_NID]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); |
224 | if ((o->length != 0) && (obj->data != NULL)) | 232 | if ((o->length != 0) && (obj->data != NULL)) |
225 | ao[ADDED_DATA]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ)); | 233 | ao[ADDED_DATA]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); |
226 | if (o->sn != NULL) | 234 | if (o->sn != NULL) |
227 | ao[ADDED_SNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ)); | 235 | ao[ADDED_SNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); |
228 | if (o->ln != NULL) | 236 | if (o->ln != NULL) |
229 | ao[ADDED_LNAME]=(ADDED_OBJ *)Malloc(sizeof(ADDED_OBJ)); | 237 | ao[ADDED_LNAME]=(ADDED_OBJ *)OPENSSL_malloc(sizeof(ADDED_OBJ)); |
230 | 238 | ||
231 | for (i=ADDED_DATA; i<=ADDED_NID; i++) | 239 | for (i=ADDED_DATA; i<=ADDED_NID; i++) |
232 | { | 240 | { |
@@ -237,7 +245,7 @@ int OBJ_add_object(ASN1_OBJECT *obj) | |||
237 | aop=(ADDED_OBJ *)lh_insert(added,ao[i]); | 245 | aop=(ADDED_OBJ *)lh_insert(added,ao[i]); |
238 | /* memory leak, buit should not normally matter */ | 246 | /* memory leak, buit should not normally matter */ |
239 | if (aop != NULL) | 247 | if (aop != NULL) |
240 | Free(aop); | 248 | OPENSSL_free(aop); |
241 | } | 249 | } |
242 | } | 250 | } |
243 | o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS| | 251 | o->flags&= ~(ASN1_OBJECT_FLAG_DYNAMIC|ASN1_OBJECT_FLAG_DYNAMIC_STRINGS| |
@@ -246,8 +254,8 @@ int OBJ_add_object(ASN1_OBJECT *obj) | |||
246 | return(o->nid); | 254 | return(o->nid); |
247 | err: | 255 | err: |
248 | for (i=ADDED_DATA; i<=ADDED_NID; i++) | 256 | for (i=ADDED_DATA; i<=ADDED_NID; i++) |
249 | if (ao[i] != NULL) Free(ao[i]); | 257 | if (ao[i] != NULL) OPENSSL_free(ao[i]); |
250 | if (o != NULL) Free(o); | 258 | if (o != NULL) OPENSSL_free(o); |
251 | return(NID_undef); | 259 | return(NID_undef); |
252 | } | 260 | } |
253 | 261 | ||
@@ -365,7 +373,7 @@ int OBJ_obj2nid(ASN1_OBJECT *a) | |||
365 | if (adp != NULL) return (adp->obj->nid); | 373 | if (adp != NULL) return (adp->obj->nid); |
366 | } | 374 | } |
367 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&a,(char *)obj_objs,NUM_OBJ, | 375 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&a,(char *)obj_objs,NUM_OBJ, |
368 | sizeof(ASN1_OBJECT *),(int (*)())obj_cmp); | 376 | sizeof(ASN1_OBJECT *),obj_cmp); |
369 | if (op == NULL) | 377 | if (op == NULL) |
370 | return(NID_undef); | 378 | return(NID_undef); |
371 | return((*op)->nid); | 379 | return((*op)->nid); |
@@ -400,7 +408,7 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | |||
400 | /* Work out total size */ | 408 | /* Work out total size */ |
401 | j = ASN1_object_size(0,i,V_ASN1_OBJECT); | 409 | j = ASN1_object_size(0,i,V_ASN1_OBJECT); |
402 | 410 | ||
403 | if((buf=(unsigned char *)Malloc(j)) == NULL) return NULL; | 411 | if((buf=(unsigned char *)OPENSSL_malloc(j)) == NULL) return NULL; |
404 | 412 | ||
405 | p = buf; | 413 | p = buf; |
406 | /* Write out tag+length */ | 414 | /* Write out tag+length */ |
@@ -410,7 +418,7 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) | |||
410 | 418 | ||
411 | p=buf; | 419 | p=buf; |
412 | op=d2i_ASN1_OBJECT(NULL,&p,i); | 420 | op=d2i_ASN1_OBJECT(NULL,&p,i); |
413 | Free(buf); | 421 | OPENSSL_free(buf); |
414 | return op; | 422 | return op; |
415 | } | 423 | } |
416 | 424 | ||
@@ -504,7 +512,7 @@ int OBJ_ln2nid(const char *s) | |||
504 | if (adp != NULL) return (adp->obj->nid); | 512 | if (adp != NULL) return (adp->obj->nid); |
505 | } | 513 | } |
506 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)ln_objs,NUM_LN, | 514 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)ln_objs,NUM_LN, |
507 | sizeof(ASN1_OBJECT *),(int (*)())ln_cmp); | 515 | sizeof(ASN1_OBJECT *),ln_cmp); |
508 | if (op == NULL) return(NID_undef); | 516 | if (op == NULL) return(NID_undef); |
509 | return((*op)->nid); | 517 | return((*op)->nid); |
510 | } | 518 | } |
@@ -523,23 +531,23 @@ int OBJ_sn2nid(const char *s) | |||
523 | if (adp != NULL) return (adp->obj->nid); | 531 | if (adp != NULL) return (adp->obj->nid); |
524 | } | 532 | } |
525 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)sn_objs,NUM_SN, | 533 | op=(ASN1_OBJECT **)OBJ_bsearch((char *)&oo,(char *)sn_objs,NUM_SN, |
526 | sizeof(ASN1_OBJECT *),(int (*)())sn_cmp); | 534 | sizeof(ASN1_OBJECT *),sn_cmp); |
527 | if (op == NULL) return(NID_undef); | 535 | if (op == NULL) return(NID_undef); |
528 | return((*op)->nid); | 536 | return((*op)->nid); |
529 | } | 537 | } |
530 | 538 | ||
531 | static int obj_cmp(ASN1_OBJECT **ap, ASN1_OBJECT **bp) | 539 | static int obj_cmp(const void *ap, const void *bp) |
532 | { | 540 | { |
533 | int j; | 541 | int j; |
534 | ASN1_OBJECT *a= *ap; | 542 | ASN1_OBJECT *a= *(ASN1_OBJECT **)ap; |
535 | ASN1_OBJECT *b= *bp; | 543 | ASN1_OBJECT *b= *(ASN1_OBJECT **)bp; |
536 | 544 | ||
537 | j=(a->length - b->length); | 545 | j=(a->length - b->length); |
538 | if (j) return(j); | 546 | if (j) return(j); |
539 | return(memcmp(a->data,b->data,a->length)); | 547 | return(memcmp(a->data,b->data,a->length)); |
540 | } | 548 | } |
541 | 549 | ||
542 | char *OBJ_bsearch(char *key, char *base, int num, int size, int (*cmp)()) | 550 | char *OBJ_bsearch(char *key, char *base, int num, int size, int (*cmp)(const void *, const void *)) |
543 | { | 551 | { |
544 | int l,h,i,c; | 552 | int l,h,i,c; |
545 | char *p; | 553 | char *p; |
@@ -631,7 +639,7 @@ int OBJ_create(char *oid, char *sn, char *ln) | |||
631 | i=a2d_ASN1_OBJECT(NULL,0,oid,-1); | 639 | i=a2d_ASN1_OBJECT(NULL,0,oid,-1); |
632 | if (i <= 0) return(0); | 640 | if (i <= 0) return(0); |
633 | 641 | ||
634 | if ((buf=(unsigned char *)Malloc(i)) == NULL) | 642 | if ((buf=(unsigned char *)OPENSSL_malloc(i)) == NULL) |
635 | { | 643 | { |
636 | OBJerr(OBJ_F_OBJ_CREATE,OBJ_R_MALLOC_FAILURE); | 644 | OBJerr(OBJ_F_OBJ_CREATE,OBJ_R_MALLOC_FAILURE); |
637 | return(0); | 645 | return(0); |
@@ -643,7 +651,7 @@ int OBJ_create(char *oid, char *sn, char *ln) | |||
643 | ok=OBJ_add_object(op); | 651 | ok=OBJ_add_object(op); |
644 | err: | 652 | err: |
645 | ASN1_OBJECT_free(op); | 653 | ASN1_OBJECT_free(op); |
646 | Free(buf); | 654 | OPENSSL_free(buf); |
647 | return(ok); | 655 | return(ok); |
648 | } | 656 | } |
649 | 657 | ||