summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/objects/obj_lib.c
diff options
context:
space:
mode:
authorbeck <>1999-09-29 04:37:45 +0000
committerbeck <>1999-09-29 04:37:45 +0000
commitde8f24ea083384bb66b32ec105dc4743c5663cdf (patch)
tree1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/objects/obj_lib.c
parentcb929d29896bcb87c2a97417fbd03e50078fc178 (diff)
downloadopenbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/objects/obj_lib.c')
-rw-r--r--src/lib/libcrypto/objects/obj_lib.c32
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
65ASN1_OBJECT *OBJ_dup(o) 65ASN1_OBJECT *OBJ_dup(ASN1_OBJECT *o)
66ASN1_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);
106err: 108err:
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
117int OBJ_cmp(a,b) 119int OBJ_cmp(ASN1_OBJECT *a, ASN1_OBJECT *b)
118ASN1_OBJECT *a;
119ASN1_OBJECT *b;
120 { 120 {
121 int ret; 121 int ret;
122 122