summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/p5_pbe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/p5_pbe.c')
-rw-r--r--src/lib/libcrypto/asn1/p5_pbe.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c
index b831836e7b..64e90237cc 100644
--- a/src/lib/libcrypto/asn1/p5_pbe.c
+++ b/src/lib/libcrypto/asn1/p5_pbe.c
@@ -82,8 +82,8 @@ PBEPARAM *PBEPARAM_new(void)
82 PBEPARAM *ret=NULL; 82 PBEPARAM *ret=NULL;
83 ASN1_CTX c; 83 ASN1_CTX c;
84 M_ASN1_New_Malloc(ret, PBEPARAM); 84 M_ASN1_New_Malloc(ret, PBEPARAM);
85 M_ASN1_New(ret->iter,ASN1_INTEGER_new); 85 M_ASN1_New(ret->iter,M_ASN1_INTEGER_new);
86 M_ASN1_New(ret->salt,ASN1_OCTET_STRING_new); 86 M_ASN1_New(ret->salt,M_ASN1_OCTET_STRING_new);
87 return (ret); 87 return (ret);
88 M_ASN1_New_Error(ASN1_F_PBEPARAM_NEW); 88 M_ASN1_New_Error(ASN1_F_PBEPARAM_NEW);
89} 89}
@@ -101,9 +101,9 @@ PBEPARAM *d2i_PBEPARAM(PBEPARAM **a, unsigned char **pp, long length)
101void PBEPARAM_free (PBEPARAM *a) 101void PBEPARAM_free (PBEPARAM *a)
102{ 102{
103 if(a==NULL) return; 103 if(a==NULL) return;
104 ASN1_OCTET_STRING_free(a->salt); 104 M_ASN1_OCTET_STRING_free(a->salt);
105 ASN1_INTEGER_free (a->iter); 105 M_ASN1_INTEGER_free (a->iter);
106 Free ((char *)a); 106 Free (a);
107} 107}
108 108
109/* Return an algorithm identifier for a PKCS#5 PBE algorithm */ 109/* Return an algorithm identifier for a PKCS#5 PBE algorithm */
@@ -129,7 +129,8 @@ X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt,
129 } 129 }
130 pbe->salt->length = saltlen; 130 pbe->salt->length = saltlen;
131 if (salt) memcpy (pbe->salt->data, salt, saltlen); 131 if (salt) memcpy (pbe->salt->data, salt, saltlen);
132 else RAND_bytes (pbe->salt->data, saltlen); 132 else if (RAND_bytes (pbe->salt->data, saltlen) <= 0)
133 return NULL;
133 134
134 if (!(astype = ASN1_TYPE_new())) { 135 if (!(astype = ASN1_TYPE_new())) {
135 ASN1err(ASN1_F_ASN1_PBE_SET,ERR_R_MALLOC_FAILURE); 136 ASN1err(ASN1_F_ASN1_PBE_SET,ERR_R_MALLOC_FAILURE);