diff options
author | markus <> | 2002-09-05 12:51:50 +0000 |
---|---|---|
committer | markus <> | 2002-09-05 12:51:50 +0000 |
commit | 15b5d84f9da2ce4bfae8580e56e34a859f74ad71 (patch) | |
tree | bf939e82d7fd73cc8a01cf6959002209972091bc /src/lib/libcrypto/objects/obj_lib.c | |
parent | 027351f729b9e837200dae6e1520cda6577ab930 (diff) | |
download | openbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.tar.gz openbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.tar.bz2 openbsd-15b5d84f9da2ce4bfae8580e56e34a859f74ad71.zip |
import openssl-0.9.7-beta1
Diffstat (limited to 'src/lib/libcrypto/objects/obj_lib.c')
-rw-r--r-- | src/lib/libcrypto/objects/obj_lib.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c index 0a9c756197..b0b0f2ff24 100644 --- a/src/lib/libcrypto/objects/obj_lib.c +++ b/src/lib/libcrypto/objects/obj_lib.c | |||
@@ -58,27 +58,28 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "lhash.h" | 61 | #include <openssl/lhash.h> |
62 | #include "objects.h" | 62 | #include <openssl/objects.h> |
63 | #include "buffer.h" | 63 | #include <openssl/buffer.h> |
64 | 64 | ||
65 | ASN1_OBJECT *OBJ_dup(o) | 65 | ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) |
66 | ASN1_OBJECT *o; | ||
67 | { | 66 | { |
68 | ASN1_OBJECT *r; | 67 | ASN1_OBJECT *r; |
69 | int i; | 68 | int i; |
69 | char *ln=NULL; | ||
70 | 70 | ||
71 | if (o == NULL) return(NULL); | 71 | if (o == NULL) return(NULL); |
72 | if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) | 72 | if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) |
73 | return(o); | 73 | return((ASN1_OBJECT *)o); /* XXX: ugh! Why? What kind of |
74 | duplication is this??? */ | ||
74 | 75 | ||
75 | r=(ASN1_OBJECT *)ASN1_OBJECT_new(); | 76 | r=ASN1_OBJECT_new(); |
76 | if (r == NULL) | 77 | if (r == NULL) |
77 | { | 78 | { |
78 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); | 79 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); |
79 | return(NULL); | 80 | return(NULL); |
80 | } | 81 | } |
81 | r->data=(unsigned char *)Malloc(o->length); | 82 | r->data=OPENSSL_malloc(o->length); |
82 | if (r->data == NULL) | 83 | if (r->data == NULL) |
83 | goto err; | 84 | goto err; |
84 | memcpy(r->data,o->data,o->length); | 85 | memcpy(r->data,o->data,o->length); |
@@ -88,35 +89,35 @@ ASN1_OBJECT *o; | |||
88 | if (o->ln != NULL) | 89 | if (o->ln != NULL) |
89 | { | 90 | { |
90 | i=strlen(o->ln)+1; | 91 | i=strlen(o->ln)+1; |
91 | r->ln=(char *)Malloc(i); | 92 | r->ln=ln=OPENSSL_malloc(i); |
92 | if (r->ln == NULL) goto err; | 93 | if (r->ln == NULL) goto err; |
93 | memcpy(r->ln,o->ln,i); | 94 | memcpy(ln,o->ln,i); |
94 | } | 95 | } |
95 | 96 | ||
96 | if (o->sn != NULL) | 97 | if (o->sn != NULL) |
97 | { | 98 | { |
99 | char *s; | ||
100 | |||
98 | i=strlen(o->sn)+1; | 101 | i=strlen(o->sn)+1; |
99 | r->sn=(char *)Malloc(i); | 102 | r->sn=s=OPENSSL_malloc(i); |
100 | if (r->sn == NULL) goto err; | 103 | if (r->sn == NULL) goto err; |
101 | memcpy(r->sn,o->sn,i); | 104 | memcpy(s,o->sn,i); |
102 | } | 105 | } |
103 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| | 106 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| |
104 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS); | 107 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|ASN1_OBJECT_FLAG_DYNAMIC_DATA); |
105 | return(r); | 108 | return(r); |
106 | err: | 109 | err: |
107 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); | 110 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); |
108 | if (r != NULL) | 111 | if (r != NULL) |
109 | { | 112 | { |
110 | if (r->ln != NULL) Free(r->ln); | 113 | if (ln != NULL) OPENSSL_free(ln); |
111 | if (r->data != NULL) Free(r->data); | 114 | if (r->data != NULL) OPENSSL_free(r->data); |
112 | Free(r); | 115 | OPENSSL_free(r); |
113 | } | 116 | } |
114 | return(NULL); | 117 | return(NULL); |
115 | } | 118 | } |
116 | 119 | ||
117 | int OBJ_cmp(a,b) | 120 | int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b) |
118 | ASN1_OBJECT *a; | ||
119 | ASN1_OBJECT *b; | ||
120 | { | 121 | { |
121 | int ret; | 122 | int ret; |
122 | 123 | ||