diff options
Diffstat (limited to 'src/lib/libcrypto/objects/obj_lib.c')
-rw-r--r-- | src/lib/libcrypto/objects/obj_lib.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c index 0a9c756197..1a1ba0fc06 100644 --- a/src/lib/libcrypto/objects/obj_lib.c +++ b/src/lib/libcrypto/objects/obj_lib.c | |||
@@ -58,27 +58,27 @@ | |||
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(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(o); |
74 | 74 | ||
75 | r=(ASN1_OBJECT *)ASN1_OBJECT_new(); | 75 | r=ASN1_OBJECT_new(); |
76 | if (r == NULL) | 76 | if (r == NULL) |
77 | { | 77 | { |
78 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); | 78 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_ASN1_LIB); |
79 | return(NULL); | 79 | return(NULL); |
80 | } | 80 | } |
81 | r->data=(unsigned char *)Malloc(o->length); | 81 | r->data=Malloc(o->length); |
82 | if (r->data == NULL) | 82 | if (r->data == NULL) |
83 | goto err; | 83 | goto err; |
84 | memcpy(r->data,o->data,o->length); | 84 | memcpy(r->data,o->data,o->length); |
@@ -88,35 +88,35 @@ ASN1_OBJECT *o; | |||
88 | if (o->ln != NULL) | 88 | if (o->ln != NULL) |
89 | { | 89 | { |
90 | i=strlen(o->ln)+1; | 90 | i=strlen(o->ln)+1; |
91 | r->ln=(char *)Malloc(i); | 91 | r->ln=ln=Malloc(i); |
92 | if (r->ln == NULL) goto err; | 92 | if (r->ln == NULL) goto err; |
93 | memcpy(r->ln,o->ln,i); | 93 | memcpy(ln,o->ln,i); |
94 | } | 94 | } |
95 | 95 | ||
96 | if (o->sn != NULL) | 96 | if (o->sn != NULL) |
97 | { | 97 | { |
98 | char *s; | ||
99 | |||
98 | i=strlen(o->sn)+1; | 100 | i=strlen(o->sn)+1; |
99 | r->sn=(char *)Malloc(i); | 101 | r->sn=s=Malloc(i); |
100 | if (r->sn == NULL) goto err; | 102 | if (r->sn == NULL) goto err; |
101 | memcpy(r->sn,o->sn,i); | 103 | memcpy(s,o->sn,i); |
102 | } | 104 | } |
103 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| | 105 | r->flags=o->flags|(ASN1_OBJECT_FLAG_DYNAMIC| |
104 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS); | 106 | ASN1_OBJECT_FLAG_DYNAMIC_STRINGS|ASN1_OBJECT_FLAG_DYNAMIC_DATA); |
105 | return(r); | 107 | return(r); |
106 | err: | 108 | err: |
107 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); | 109 | OBJerr(OBJ_F_OBJ_DUP,ERR_R_MALLOC_FAILURE); |
108 | if (r != NULL) | 110 | if (r != NULL) |
109 | { | 111 | { |
110 | if (r->ln != NULL) Free(r->ln); | 112 | if (ln != NULL) Free(ln); |
111 | if (r->data != NULL) Free(r->data); | 113 | if (r->data != NULL) Free(r->data); |
112 | Free(r); | 114 | Free(r); |
113 | } | 115 | } |
114 | return(NULL); | 116 | return(NULL); |
115 | } | 117 | } |
116 | 118 | ||
117 | int OBJ_cmp(a,b) | 119 | int OBJ_cmp(ASN1_OBJECT *a, ASN1_OBJECT *b) |
118 | ASN1_OBJECT *a; | ||
119 | ASN1_OBJECT *b; | ||
120 | { | 120 | { |
121 | int ret; | 121 | int ret; |
122 | 122 | ||