diff options
author | beck <> | 2000-03-19 11:13:58 +0000 |
---|---|---|
committer | beck <> | 2000-03-19 11:13:58 +0000 |
commit | 796d609550df3a33fc11468741c5d2f6d3df4c11 (patch) | |
tree | 6c6d539061caa20372dad0ac4ddb1dfae2fbe7fe /src/lib/libcrypto/asn1/a_bytes.c | |
parent | 5be3114c1fd7e0dfea1e38d3abb4cbba75244419 (diff) | |
download | openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.gz openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.bz2 openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.zip |
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
Diffstat (limited to 'src/lib/libcrypto/asn1/a_bytes.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_bytes.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/lib/libcrypto/asn1/a_bytes.c b/src/lib/libcrypto/asn1/a_bytes.c index e452e03b88..8cde695804 100644 --- a/src/lib/libcrypto/asn1/a_bytes.c +++ b/src/lib/libcrypto/asn1/a_bytes.c | |||
@@ -71,7 +71,7 @@ B_ASN1_T61STRING,B_ASN1_VIDEOTEXSTRING,B_ASN1_IA5STRING,0, | |||
71 | B_ASN1_UNIVERSALSTRING,B_ASN1_UNKNOWN,B_ASN1_BMPSTRING,B_ASN1_UNKNOWN, | 71 | B_ASN1_UNIVERSALSTRING,B_ASN1_UNKNOWN,B_ASN1_BMPSTRING,B_ASN1_UNKNOWN, |
72 | }; | 72 | }; |
73 | 73 | ||
74 | static int asn1_collate_primative(ASN1_STRING *a, ASN1_CTX *c); | 74 | static int asn1_collate_primitive(ASN1_STRING *a, ASN1_CTX *c); |
75 | /* type is a 'bitmap' of acceptable string types. | 75 | /* type is a 'bitmap' of acceptable string types. |
76 | */ | 76 | */ |
77 | ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, unsigned char **pp, | 77 | ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, unsigned char **pp, |
@@ -124,7 +124,7 @@ ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, unsigned char **pp, | |||
124 | else | 124 | else |
125 | s=NULL; | 125 | s=NULL; |
126 | 126 | ||
127 | if (ret->data != NULL) Free((char *)ret->data); | 127 | if (ret->data != NULL) Free(ret->data); |
128 | ret->length=(int)len; | 128 | ret->length=(int)len; |
129 | ret->data=s; | 129 | ret->data=s; |
130 | ret->type=tag; | 130 | ret->type=tag; |
@@ -205,7 +205,7 @@ ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp, long length, | |||
205 | c.tag=Ptag; | 205 | c.tag=Ptag; |
206 | c.xclass=Pclass; | 206 | c.xclass=Pclass; |
207 | c.max=(length == 0)?0:(p+length); | 207 | c.max=(length == 0)?0:(p+length); |
208 | if (!asn1_collate_primative(ret,&c)) | 208 | if (!asn1_collate_primitive(ret,&c)) |
209 | goto err; | 209 | goto err; |
210 | else | 210 | else |
211 | { | 211 | { |
@@ -218,8 +218,8 @@ ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp, long length, | |||
218 | { | 218 | { |
219 | if ((ret->length < len) || (ret->data == NULL)) | 219 | if ((ret->length < len) || (ret->data == NULL)) |
220 | { | 220 | { |
221 | if (ret->data != NULL) Free((char *)ret->data); | 221 | if (ret->data != NULL) Free(ret->data); |
222 | s=(unsigned char *)Malloc((int)len); | 222 | s=(unsigned char *)Malloc((int)len + 1); |
223 | if (s == NULL) | 223 | if (s == NULL) |
224 | { | 224 | { |
225 | i=ERR_R_MALLOC_FAILURE; | 225 | i=ERR_R_MALLOC_FAILURE; |
@@ -229,12 +229,13 @@ ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp, long length, | |||
229 | else | 229 | else |
230 | s=ret->data; | 230 | s=ret->data; |
231 | memcpy(s,p,(int)len); | 231 | memcpy(s,p,(int)len); |
232 | s[len] = '\0'; | ||
232 | p+=len; | 233 | p+=len; |
233 | } | 234 | } |
234 | else | 235 | else |
235 | { | 236 | { |
236 | s=NULL; | 237 | s=NULL; |
237 | if (ret->data != NULL) Free((char *)ret->data); | 238 | if (ret->data != NULL) Free(ret->data); |
238 | } | 239 | } |
239 | 240 | ||
240 | ret->length=(int)len; | 241 | ret->length=(int)len; |
@@ -253,11 +254,11 @@ err: | |||
253 | } | 254 | } |
254 | 255 | ||
255 | 256 | ||
256 | /* We are about to parse 0..n d2i_ASN1_bytes objects, we are to collapes | 257 | /* We are about to parse 0..n d2i_ASN1_bytes objects, we are to collapse |
257 | * them into the one struture that is then returned */ | 258 | * them into the one structure that is then returned */ |
258 | /* There have been a few bug fixes for this function from | 259 | /* There have been a few bug fixes for this function from |
259 | * Paul Keogh <paul.keogh@sse.ie>, many thanks to him */ | 260 | * Paul Keogh <paul.keogh@sse.ie>, many thanks to him */ |
260 | static int asn1_collate_primative(ASN1_STRING *a, ASN1_CTX *c) | 261 | static int asn1_collate_primitive(ASN1_STRING *a, ASN1_CTX *c) |
261 | { | 262 | { |
262 | ASN1_STRING *os=NULL; | 263 | ASN1_STRING *os=NULL; |
263 | BUF_MEM b; | 264 | BUF_MEM b; |