summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_dup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/a_dup.c')
-rw-r--r--src/lib/libcrypto/asn1/a_dup.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/a_dup.c b/src/lib/libcrypto/asn1/a_dup.c
index 199d50f521..58a017884c 100644
--- a/src/lib/libcrypto/asn1/a_dup.c
+++ b/src/lib/libcrypto/asn1/a_dup.c
@@ -62,23 +62,22 @@
62 62
63#ifndef NO_OLD_ASN1 63#ifndef NO_OLD_ASN1
64 64
65void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x) 65char *ASN1_dup(int (*i2d)(), char *(*d2i)(), char *x)
66 { 66 {
67 unsigned char *b,*p; 67 unsigned char *b,*p;
68 const unsigned char *p2; 68 long i;
69 int i;
70 char *ret; 69 char *ret;
71 70
72 if (x == NULL) return(NULL); 71 if (x == NULL) return(NULL);
73 72
74 i=i2d(x,NULL); 73 i=(long)i2d(x,NULL);
75 b=OPENSSL_malloc(i+10); 74 b=(unsigned char *)OPENSSL_malloc((unsigned int)i+10);
76 if (b == NULL) 75 if (b == NULL)
77 { ASN1err(ASN1_F_ASN1_DUP,ERR_R_MALLOC_FAILURE); return(NULL); } 76 { ASN1err(ASN1_F_ASN1_DUP,ERR_R_MALLOC_FAILURE); return(NULL); }
78 p= b; 77 p= b;
79 i=i2d(x,&p); 78 i=i2d(x,&p);
80 p2= b; 79 p= b;
81 ret=d2i(NULL,&p2,i); 80 ret=d2i(NULL,&p,i);
82 OPENSSL_free(b); 81 OPENSSL_free(b);
83 return(ret); 82 return(ret);
84 } 83 }
@@ -92,8 +91,7 @@ void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x)
92 91
93void *ASN1_item_dup(const ASN1_ITEM *it, void *x) 92void *ASN1_item_dup(const ASN1_ITEM *it, void *x)
94 { 93 {
95 unsigned char *b = NULL; 94 unsigned char *b = NULL, *p;
96 const unsigned char *p;
97 long i; 95 long i;
98 void *ret; 96 void *ret;
99 97
@@ -101,7 +99,7 @@ void *ASN1_item_dup(const ASN1_ITEM *it, void *x)
101 99
102 i=ASN1_item_i2d(x,&b,it); 100 i=ASN1_item_i2d(x,&b,it);
103 if (b == NULL) 101 if (b == NULL)
104 { ASN1err(ASN1_F_ASN1_ITEM_DUP,ERR_R_MALLOC_FAILURE); return(NULL); } 102 { ASN1err(ASN1_F_ASN1_DUP,ERR_R_MALLOC_FAILURE); return(NULL); }
105 p= b; 103 p= b;
106 ret=ASN1_item_d2i(NULL,&p,i, it); 104 ret=ASN1_item_d2i(NULL,&p,i, it);
107 OPENSSL_free(b); 105 OPENSSL_free(b);