summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1
diff options
context:
space:
mode:
authorbeck <>2017-01-29 17:49:23 +0000
committerbeck <>2017-01-29 17:49:23 +0000
commit957b11334a7afb14537322f0e4795b2e368b3f59 (patch)
tree1a54abba678898ee5270ae4f3404a50ee9a92eea /src/lib/libcrypto/asn1
parentdf96e020e729c6c37a8c7fe311fdd1fe6a8718c5 (diff)
downloadopenbsd-957b11334a7afb14537322f0e4795b2e368b3f59.tar.gz
openbsd-957b11334a7afb14537322f0e4795b2e368b3f59.tar.bz2
openbsd-957b11334a7afb14537322f0e4795b2e368b3f59.zip
Send the function codes from the error functions to the bit bucket,
as was done earlier in libssl. Thanks inoguchi@ for noticing libssl had more reacharounds into this. ok jsing@ inoguchi@
Diffstat (limited to 'src/lib/libcrypto/asn1')
-rw-r--r--src/lib/libcrypto/asn1/a_bitstr.c6
-rw-r--r--src/lib/libcrypto/asn1/a_bool.c4
-rw-r--r--src/lib/libcrypto/asn1/a_bytes.c8
-rw-r--r--src/lib/libcrypto/asn1/a_d2i_fp.c33
-rw-r--r--src/lib/libcrypto/asn1/a_dup.c6
-rw-r--r--src/lib/libcrypto/asn1/a_enum.c10
-rw-r--r--src/lib/libcrypto/asn1/a_i2d_fp.c10
-rw-r--r--src/lib/libcrypto/asn1/a_int.c14
-rw-r--r--src/lib/libcrypto/asn1/a_mbstr.c30
-rw-r--r--src/lib/libcrypto/asn1/a_object.c29
-rw-r--r--src/lib/libcrypto/asn1/a_set.c17
-rw-r--r--src/lib/libcrypto/asn1/a_sign.c14
-rw-r--r--src/lib/libcrypto/asn1/a_strnid.c10
-rw-r--r--src/lib/libcrypto/asn1/a_time_tm.c5
-rw-r--r--src/lib/libcrypto/asn1/a_verify.c27
-rw-r--r--src/lib/libcrypto/asn1/asn1_err.c124
-rw-r--r--src/lib/libcrypto/asn1/asn1_gen.c76
-rw-r--r--src/lib/libcrypto/asn1/asn1_lib.c10
-rw-r--r--src/lib/libcrypto/asn1/asn_mime.c46
-rw-r--r--src/lib/libcrypto/asn1/asn_moid.c6
-rw-r--r--src/lib/libcrypto/asn1/asn_pack.c24
-rw-r--r--src/lib/libcrypto/asn1/bio_ndef.c4
-rw-r--r--src/lib/libcrypto/asn1/d2i_pr.c11
-rw-r--r--src/lib/libcrypto/asn1/d2i_pu.c14
-rw-r--r--src/lib/libcrypto/asn1/evp_asn1.c7
-rw-r--r--src/lib/libcrypto/asn1/f_enum.c13
-rw-r--r--src/lib/libcrypto/asn1/f_int.c13
-rw-r--r--src/lib/libcrypto/asn1/f_string.c13
-rw-r--r--src/lib/libcrypto/asn1/i2d_pr.c4
-rw-r--r--src/lib/libcrypto/asn1/i2d_pu.c4
-rw-r--r--src/lib/libcrypto/asn1/n_pkey.c24
-rw-r--r--src/lib/libcrypto/asn1/p5_pbe.c12
-rw-r--r--src/lib/libcrypto/asn1/p5_pbev2.c12
-rw-r--r--src/lib/libcrypto/asn1/t_crl.c4
-rw-r--r--src/lib/libcrypto/asn1/t_req.c6
-rw-r--r--src/lib/libcrypto/asn1/t_x509.c6
-rw-r--r--src/lib/libcrypto/asn1/tasn_dec.c146
-rw-r--r--src/lib/libcrypto/asn1/tasn_new.c8
-rw-r--r--src/lib/libcrypto/asn1/tasn_prn.c4
-rw-r--r--src/lib/libcrypto/asn1/tasn_utl.c5
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c4
-rw-r--r--src/lib/libcrypto/asn1/x_info.c4
-rw-r--r--src/lib/libcrypto/asn1/x_long.c6
-rw-r--r--src/lib/libcrypto/asn1/x_name.c8
-rw-r--r--src/lib/libcrypto/asn1/x_pkey.c8
-rw-r--r--src/lib/libcrypto/asn1/x_pubkey.c25
46 files changed, 324 insertions, 550 deletions
diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c
index c847b471d6..9ba77d6958 100644
--- a/src/lib/libcrypto/asn1/a_bitstr.c
+++ b/src/lib/libcrypto/asn1/a_bitstr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_bitstr.c,v 1.23 2015/09/29 13:54:40 jsing Exp $ */ 1/* $OpenBSD: a_bitstr.c,v 1.24 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -176,7 +176,7 @@ c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **pp, long len)
176 return (ret); 176 return (ret);
177 177
178err: 178err:
179 ASN1err(ASN1_F_C2I_ASN1_BIT_STRING, i); 179 ASN1error(i);
180 if ((ret != NULL) && ((a == NULL) || (*a != ret))) 180 if ((ret != NULL) && ((a == NULL) || (*a != ret)))
181 ASN1_BIT_STRING_free(ret); 181 ASN1_BIT_STRING_free(ret);
182 return (NULL); 182 return (NULL);
@@ -206,7 +206,7 @@ ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
206 return(1); /* Don't need to set */ 206 return(1); /* Don't need to set */
207 c = OPENSSL_realloc_clean(a->data, a->length, w + 1); 207 c = OPENSSL_realloc_clean(a->data, a->length, w + 1);
208 if (c == NULL) { 208 if (c == NULL) {
209 ASN1err(ASN1_F_ASN1_BIT_STRING_SET_BIT, ERR_R_MALLOC_FAILURE); 209 ASN1error(ERR_R_MALLOC_FAILURE);
210 return 0; 210 return 0;
211 } 211 }
212 if (w + 1 - a->length > 0) 212 if (w + 1 - a->length > 0)
diff --git a/src/lib/libcrypto/asn1/a_bool.c b/src/lib/libcrypto/asn1/a_bool.c
index d5a0c0c8a4..e8469bec65 100644
--- a/src/lib/libcrypto/asn1/a_bool.c
+++ b/src/lib/libcrypto/asn1/a_bool.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_bool.c,v 1.7 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: a_bool.c,v 1.8 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -110,6 +110,6 @@ d2i_ASN1_BOOLEAN(int *a, const unsigned char **pp, long length)
110 return (ret); 110 return (ret);
111 111
112err: 112err:
113 ASN1err(ASN1_F_D2I_ASN1_BOOLEAN, i); 113 ASN1error(i);
114 return (ret); 114 return (ret);
115} 115}
diff --git a/src/lib/libcrypto/asn1/a_bytes.c b/src/lib/libcrypto/asn1/a_bytes.c
index 727ad3ed9b..f3fe234851 100644
--- a/src/lib/libcrypto/asn1/a_bytes.c
+++ b/src/lib/libcrypto/asn1/a_bytes.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_bytes.c,v 1.18 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: a_bytes.c,v 1.19 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -123,7 +123,7 @@ d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp,
123 return (ret); 123 return (ret);
124 124
125err: 125err:
126 ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES, i); 126 ASN1error(i);
127 if (a == NULL || *a != ret) 127 if (a == NULL || *a != ret)
128 ASN1_STRING_free(ret); 128 ASN1_STRING_free(ret);
129 return (NULL); 129 return (NULL);
@@ -235,7 +235,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp,
235err: 235err:
236 if (a == NULL || *a != ret) 236 if (a == NULL || *a != ret)
237 ASN1_STRING_free(ret); 237 ASN1_STRING_free(ret);
238 ASN1err(ASN1_F_D2I_ASN1_BYTES, i); 238 ASN1error(i);
239 return (NULL); 239 return (NULL);
240} 240}
241 241
@@ -299,7 +299,7 @@ asn1_collate_primitive(ASN1_STRING *a, ASN1_const_CTX *c)
299 return (1); 299 return (1);
300 300
301err: 301err:
302 ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); 302 ASN1error(c->error);
303 ASN1_STRING_free(os); 303 ASN1_STRING_free(os);
304 free(b.data); 304 free(b.data);
305 return (0); 305 return (0);
diff --git a/src/lib/libcrypto/asn1/a_d2i_fp.c b/src/lib/libcrypto/asn1/a_d2i_fp.c
index c00b304c61..390a1072d5 100644
--- a/src/lib/libcrypto/asn1/a_d2i_fp.c
+++ b/src/lib/libcrypto/asn1/a_d2i_fp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_d2i_fp.c,v 1.15 2016/05/20 15:46:21 bcook Exp $ */ 1/* $OpenBSD: a_d2i_fp.c,v 1.16 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -74,7 +74,7 @@ ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
74 void *ret; 74 void *ret;
75 75
76 if ((b = BIO_new(BIO_s_file())) == NULL) { 76 if ((b = BIO_new(BIO_s_file())) == NULL) {
77 ASN1err(ASN1_F_ASN1_D2I_FP, ERR_R_BUF_LIB); 77 ASN1error(ERR_R_BUF_LIB);
78 return (NULL); 78 return (NULL);
79 } 79 }
80 BIO_set_fp(b, in, BIO_NOCLOSE); 80 BIO_set_fp(b, in, BIO_NOCLOSE);
@@ -134,7 +134,7 @@ ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
134 char *ret; 134 char *ret;
135 135
136 if ((b = BIO_new(BIO_s_file())) == NULL) { 136 if ((b = BIO_new(BIO_s_file())) == NULL) {
137 ASN1err(ASN1_F_ASN1_ITEM_D2I_FP, ERR_R_BUF_LIB); 137 ASN1error(ERR_R_BUF_LIB);
138 return (NULL); 138 return (NULL);
139 } 139 }
140 BIO_set_fp(b, in, BIO_NOCLOSE); 140 BIO_set_fp(b, in, BIO_NOCLOSE);
@@ -159,7 +159,7 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
159 159
160 b = BUF_MEM_new(); 160 b = BUF_MEM_new();
161 if (b == NULL) { 161 if (b == NULL) {
162 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ERR_R_MALLOC_FAILURE); 162 ASN1error(ERR_R_MALLOC_FAILURE);
163 return -1; 163 return -1;
164 } 164 }
165 165
@@ -170,20 +170,17 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
170 170
171 if (len + want < len || 171 if (len + want < len ||
172 !BUF_MEM_grow_clean(b, len + want)) { 172 !BUF_MEM_grow_clean(b, len + want)) {
173 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 173 ASN1error(ERR_R_MALLOC_FAILURE);
174 ERR_R_MALLOC_FAILURE);
175 goto err; 174 goto err;
176 } 175 }
177 i = BIO_read(in, &(b->data[len]), want); 176 i = BIO_read(in, &(b->data[len]), want);
178 if ((i < 0) && ((len - off) == 0)) { 177 if ((i < 0) && ((len - off) == 0)) {
179 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 178 ASN1error(ASN1_R_NOT_ENOUGH_DATA);
180 ASN1_R_NOT_ENOUGH_DATA);
181 goto err; 179 goto err;
182 } 180 }
183 if (i > 0) { 181 if (i > 0) {
184 if (len + i < len) { 182 if (len + i < len) {
185 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 183 ASN1error(ASN1_R_TOO_LONG);
186 ASN1_R_TOO_LONG);
187 goto err; 184 goto err;
188 } 185 }
189 len += i; 186 len += i;
@@ -211,8 +208,7 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
211 /* no data body so go round again */ 208 /* no data body so go round again */
212 eos++; 209 eos++;
213 if (eos < 0) { 210 if (eos < 0) {
214 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 211 ASN1error(ASN1_R_HEADER_TOO_LONG);
215 ASN1_R_HEADER_TOO_LONG);
216 goto err; 212 goto err;
217 } 213 }
218 want = HEADER_SIZE; 214 want = HEADER_SIZE;
@@ -232,8 +228,7 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
232 want -= (len - off); 228 want -= (len - off);
233 if (want > INT_MAX /* BIO_read takes an int length */ || 229 if (want > INT_MAX /* BIO_read takes an int length */ ||
234 len+want < len) { 230 len+want < len) {
235 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 231 ASN1error(ASN1_R_TOO_LONG);
236 ASN1_R_TOO_LONG);
237 goto err; 232 goto err;
238 } 233 }
239 while (want > 0) { 234 while (want > 0) {
@@ -246,16 +241,14 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
246 size_t chunk = want > chunk_max ? chunk_max : want; 241 size_t chunk = want > chunk_max ? chunk_max : want;
247 242
248 if (!BUF_MEM_grow_clean(b, len + chunk)) { 243 if (!BUF_MEM_grow_clean(b, len + chunk)) {
249 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 244 ASN1error(ERR_R_MALLOC_FAILURE);
250 ERR_R_MALLOC_FAILURE);
251 goto err; 245 goto err;
252 } 246 }
253 want -= chunk; 247 want -= chunk;
254 while (chunk > 0) { 248 while (chunk > 0) {
255 i = BIO_read(in, &(b->data[len]), chunk); 249 i = BIO_read(in, &(b->data[len]), chunk);
256 if (i <= 0) { 250 if (i <= 0) {
257 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, 251 ASN1error(ASN1_R_NOT_ENOUGH_DATA);
258 ASN1_R_NOT_ENOUGH_DATA);
259 goto err; 252 goto err;
260 } 253 }
261 /* 254 /*
@@ -270,7 +263,7 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
270 } 263 }
271 } 264 }
272 if (off + c.slen < off) { 265 if (off + c.slen < off) {
273 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ASN1_R_TOO_LONG); 266 ASN1error(ASN1_R_TOO_LONG);
274 goto err; 267 goto err;
275 } 268 }
276 off += c.slen; 269 off += c.slen;
@@ -282,7 +275,7 @@ asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
282 } 275 }
283 276
284 if (off > INT_MAX) { 277 if (off > INT_MAX) {
285 ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ASN1_R_TOO_LONG); 278 ASN1error(ASN1_R_TOO_LONG);
286 goto err; 279 goto err;
287 } 280 }
288 281
diff --git a/src/lib/libcrypto/asn1/a_dup.c b/src/lib/libcrypto/asn1/a_dup.c
index 79cd1d4586..2e17a1e219 100644
--- a/src/lib/libcrypto/asn1/a_dup.c
+++ b/src/lib/libcrypto/asn1/a_dup.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_dup.c,v 1.13 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: a_dup.c,v 1.14 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -77,7 +77,7 @@ ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x)
77 i = i2d(x, NULL); 77 i = i2d(x, NULL);
78 b = malloc(i + 10); 78 b = malloc(i + 10);
79 if (b == NULL) { 79 if (b == NULL) {
80 ASN1err(ASN1_F_ASN1_DUP, ERR_R_MALLOC_FAILURE); 80 ASN1error(ERR_R_MALLOC_FAILURE);
81 return (NULL); 81 return (NULL);
82 } 82 }
83 p = b; 83 p = b;
@@ -108,7 +108,7 @@ ASN1_item_dup(const ASN1_ITEM *it, void *x)
108 108
109 i = ASN1_item_i2d(x, &b, it); 109 i = ASN1_item_i2d(x, &b, it);
110 if (b == NULL) { 110 if (b == NULL) {
111 ASN1err(ASN1_F_ASN1_ITEM_DUP, ERR_R_MALLOC_FAILURE); 111 ASN1error(ERR_R_MALLOC_FAILURE);
112 return (NULL); 112 return (NULL);
113 } 113 }
114 p = b; 114 p = b;
diff --git a/src/lib/libcrypto/asn1/a_enum.c b/src/lib/libcrypto/asn1/a_enum.c
index 142f6ed575..23875958bf 100644
--- a/src/lib/libcrypto/asn1/a_enum.c
+++ b/src/lib/libcrypto/asn1/a_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_enum.c,v 1.17 2015/09/30 18:45:56 jsing Exp $ */ 1/* $OpenBSD: a_enum.c,v 1.18 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -81,7 +81,7 @@ ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)
81 a->data = calloc(1, sizeof(long) + 1); 81 a->data = calloc(1, sizeof(long) + 1);
82 } 82 }
83 if (a->data == NULL) { 83 if (a->data == NULL) {
84 ASN1err(ASN1_F_ASN1_ENUMERATED_SET, ERR_R_MALLOC_FAILURE); 84 ASN1error(ERR_R_MALLOC_FAILURE);
85 return (0); 85 return (0);
86 } 86 }
87 d = v; 87 d = v;
@@ -144,7 +144,7 @@ BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai)
144 else 144 else
145 ret = ai; 145 ret = ai;
146 if (ret == NULL) { 146 if (ret == NULL) {
147 ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED, ERR_R_NESTED_ASN1_ERROR); 147 ASN1error(ERR_R_NESTED_ASN1_ERROR);
148 goto err; 148 goto err;
149 } 149 }
150 if (BN_is_negative(bn)) 150 if (BN_is_negative(bn))
@@ -156,7 +156,7 @@ BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai)
156 if (ret->length < len + 4) { 156 if (ret->length < len + 4) {
157 unsigned char *new_data = realloc(ret->data, len + 4); 157 unsigned char *new_data = realloc(ret->data, len + 4);
158 if (!new_data) { 158 if (!new_data) {
159 ASN1err(ASN1_F_BN_TO_ASN1_ENUMERATED, ERR_R_MALLOC_FAILURE); 159 ASN1error(ERR_R_MALLOC_FAILURE);
160 goto err; 160 goto err;
161 } 161 }
162 ret->data = new_data; 162 ret->data = new_data;
@@ -182,7 +182,7 @@ ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai, BIGNUM *bn)
182 BIGNUM *ret; 182 BIGNUM *ret;
183 183
184 if ((ret = BN_bin2bn(ai->data, ai->length, bn)) == NULL) 184 if ((ret = BN_bin2bn(ai->data, ai->length, bn)) == NULL)
185 ASN1err(ASN1_F_ASN1_ENUMERATED_TO_BN, ASN1_R_BN_LIB); 185 ASN1error(ASN1_R_BN_LIB);
186 else if (ai->type == V_ASN1_NEG_ENUMERATED) 186 else if (ai->type == V_ASN1_NEG_ENUMERATED)
187 BN_set_negative(ret, 1); 187 BN_set_negative(ret, 1);
188 return (ret); 188 return (ret);
diff --git a/src/lib/libcrypto/asn1/a_i2d_fp.c b/src/lib/libcrypto/asn1/a_i2d_fp.c
index 424068d784..6398978aac 100644
--- a/src/lib/libcrypto/asn1/a_i2d_fp.c
+++ b/src/lib/libcrypto/asn1/a_i2d_fp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_i2d_fp.c,v 1.14 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: a_i2d_fp.c,v 1.15 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -71,7 +71,7 @@ ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x)
71 int ret; 71 int ret;
72 72
73 if ((b = BIO_new(BIO_s_file())) == NULL) { 73 if ((b = BIO_new(BIO_s_file())) == NULL) {
74 ASN1err(ASN1_F_ASN1_I2D_FP, ERR_R_BUF_LIB); 74 ASN1error(ERR_R_BUF_LIB);
75 return (0); 75 return (0);
76 } 76 }
77 BIO_set_fp(b, out, BIO_NOCLOSE); 77 BIO_set_fp(b, out, BIO_NOCLOSE);
@@ -90,7 +90,7 @@ ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x)
90 n = i2d(x, NULL); 90 n = i2d(x, NULL);
91 b = malloc(n); 91 b = malloc(n);
92 if (b == NULL) { 92 if (b == NULL) {
93 ASN1err(ASN1_F_ASN1_I2D_BIO, ERR_R_MALLOC_FAILURE); 93 ASN1error(ERR_R_MALLOC_FAILURE);
94 return (0); 94 return (0);
95 } 95 }
96 96
@@ -121,7 +121,7 @@ ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x)
121 int ret; 121 int ret;
122 122
123 if ((b = BIO_new(BIO_s_file())) == NULL) { 123 if ((b = BIO_new(BIO_s_file())) == NULL) {
124 ASN1err(ASN1_F_ASN1_ITEM_I2D_FP, ERR_R_BUF_LIB); 124 ASN1error(ERR_R_BUF_LIB);
125 return (0); 125 return (0);
126 } 126 }
127 BIO_set_fp(b, out, BIO_NOCLOSE); 127 BIO_set_fp(b, out, BIO_NOCLOSE);
@@ -138,7 +138,7 @@ ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x)
138 138
139 n = ASN1_item_i2d(x, &b, it); 139 n = ASN1_item_i2d(x, &b, it);
140 if (b == NULL) { 140 if (b == NULL) {
141 ASN1err(ASN1_F_ASN1_ITEM_I2D_BIO, ERR_R_MALLOC_FAILURE); 141 ASN1error(ERR_R_MALLOC_FAILURE);
142 return (0); 142 return (0);
143 } 143 }
144 144
diff --git a/src/lib/libcrypto/asn1/a_int.c b/src/lib/libcrypto/asn1/a_int.c
index 5c0103ba36..95d0f6dbb2 100644
--- a/src/lib/libcrypto/asn1/a_int.c
+++ b/src/lib/libcrypto/asn1/a_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_int.c,v 1.30 2015/09/30 17:30:15 jsing Exp $ */ 1/* $OpenBSD: a_int.c,v 1.31 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -266,7 +266,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long len)
266 return (ret); 266 return (ret);
267 267
268err: 268err:
269 ASN1err(ASN1_F_C2I_ASN1_INTEGER, i); 269 ASN1error(i);
270 if (a == NULL || *a != ret) 270 if (a == NULL || *a != ret)
271 ASN1_INTEGER_free(ret); 271 ASN1_INTEGER_free(ret);
272 return (NULL); 272 return (NULL);
@@ -332,7 +332,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length)
332 return (ret); 332 return (ret);
333 333
334err: 334err:
335 ASN1err(ASN1_F_D2I_ASN1_UINTEGER, i); 335 ASN1error(i);
336 if (a == NULL || *a != ret) 336 if (a == NULL || *a != ret)
337 ASN1_INTEGER_free(ret); 337 ASN1_INTEGER_free(ret);
338 return (NULL); 338 return (NULL);
@@ -353,7 +353,7 @@ ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
353 a->data = calloc(1, sizeof(long) + 1); 353 a->data = calloc(1, sizeof(long) + 1);
354 } 354 }
355 if (a->data == NULL) { 355 if (a->data == NULL) {
356 ASN1err(ASN1_F_ASN1_INTEGER_SET, ERR_R_MALLOC_FAILURE); 356 ASN1error(ERR_R_MALLOC_FAILURE);
357 return (0); 357 return (0);
358 } 358 }
359 d = v; 359 d = v;
@@ -416,7 +416,7 @@ BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
416 else 416 else
417 ret = ai; 417 ret = ai;
418 if (ret == NULL) { 418 if (ret == NULL) {
419 ASN1err(ASN1_F_BN_TO_ASN1_INTEGER, ERR_R_NESTED_ASN1_ERROR); 419 ASN1error(ERR_R_NESTED_ASN1_ERROR);
420 goto err; 420 goto err;
421 } 421 }
422 if (BN_is_negative(bn)) 422 if (BN_is_negative(bn))
@@ -428,7 +428,7 @@ BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
428 if (ret->length < len + 4) { 428 if (ret->length < len + 4) {
429 unsigned char *new_data = realloc(ret->data, len + 4); 429 unsigned char *new_data = realloc(ret->data, len + 4);
430 if (!new_data) { 430 if (!new_data) {
431 ASN1err(ASN1_F_BN_TO_ASN1_INTEGER, ERR_R_MALLOC_FAILURE); 431 ASN1error(ERR_R_MALLOC_FAILURE);
432 goto err; 432 goto err;
433 } 433 }
434 ret->data = new_data; 434 ret->data = new_data;
@@ -454,7 +454,7 @@ ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
454 BIGNUM *ret; 454 BIGNUM *ret;
455 455
456 if ((ret = BN_bin2bn(ai->data, ai->length, bn)) == NULL) 456 if ((ret = BN_bin2bn(ai->data, ai->length, bn)) == NULL)
457 ASN1err(ASN1_F_ASN1_INTEGER_TO_BN, ASN1_R_BN_LIB); 457 ASN1error(ASN1_R_BN_LIB);
458 else if (ai->type == V_ASN1_NEG_INTEGER) 458 else if (ai->type == V_ASN1_NEG_INTEGER)
459 BN_set_negative(ret, 1); 459 BN_set_negative(ret, 1);
460 return (ret); 460 return (ret);
diff --git a/src/lib/libcrypto/asn1/a_mbstr.c b/src/lib/libcrypto/asn1/a_mbstr.c
index e715fe7348..b7cfba379a 100644
--- a/src/lib/libcrypto/asn1/a_mbstr.c
+++ b/src/lib/libcrypto/asn1/a_mbstr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_mbstr.c,v 1.22 2015/07/16 02:18:58 miod Exp $ */ 1/* $OpenBSD: a_mbstr.c,v 1.23 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -113,8 +113,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
113 switch (inform) { 113 switch (inform) {
114 case MBSTRING_BMP: 114 case MBSTRING_BMP:
115 if (len & 1) { 115 if (len & 1) {
116 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 116 ASN1error(ASN1_R_INVALID_BMPSTRING_LENGTH);
117 ASN1_R_INVALID_BMPSTRING_LENGTH);
118 return -1; 117 return -1;
119 } 118 }
120 nchar = len >> 1; 119 nchar = len >> 1;
@@ -122,8 +121,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
122 121
123 case MBSTRING_UNIV: 122 case MBSTRING_UNIV:
124 if (len & 3) { 123 if (len & 3) {
125 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 124 ASN1error(ASN1_R_INVALID_UNIVERSALSTRING_LENGTH);
126 ASN1_R_INVALID_UNIVERSALSTRING_LENGTH);
127 return -1; 125 return -1;
128 } 126 }
129 nchar = len >> 2; 127 nchar = len >> 2;
@@ -134,8 +132,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
134 /* This counts the characters and does utf8 syntax checking */ 132 /* This counts the characters and does utf8 syntax checking */
135 ret = traverse_string(in, len, MBSTRING_UTF8, in_utf8, &nchar); 133 ret = traverse_string(in, len, MBSTRING_UTF8, in_utf8, &nchar);
136 if (ret < 0) { 134 if (ret < 0) {
137 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 135 ASN1error(ASN1_R_INVALID_UTF8STRING);
138 ASN1_R_INVALID_UTF8STRING);
139 return -1; 136 return -1;
140 } 137 }
141 break; 138 break;
@@ -145,25 +142,25 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
145 break; 142 break;
146 143
147 default: 144 default:
148 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_UNKNOWN_FORMAT); 145 ASN1error(ASN1_R_UNKNOWN_FORMAT);
149 return -1; 146 return -1;
150 } 147 }
151 148
152 if ((minsize > 0) && (nchar < minsize)) { 149 if ((minsize > 0) && (nchar < minsize)) {
153 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_SHORT); 150 ASN1error(ASN1_R_STRING_TOO_SHORT);
154 ERR_asprintf_error_data("minsize=%ld", minsize); 151 ERR_asprintf_error_data("minsize=%ld", minsize);
155 return -1; 152 return -1;
156 } 153 }
157 154
158 if ((maxsize > 0) && (nchar > maxsize)) { 155 if ((maxsize > 0) && (nchar > maxsize)) {
159 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_STRING_TOO_LONG); 156 ASN1error(ASN1_R_STRING_TOO_LONG);
160 ERR_asprintf_error_data("maxsize=%ld", maxsize); 157 ERR_asprintf_error_data("maxsize=%ld", maxsize);
161 return -1; 158 return -1;
162 } 159 }
163 160
164 /* Now work out minimal type (if any) */ 161 /* Now work out minimal type (if any) */
165 if (traverse_string(in, len, inform, type_str, &mask) < 0) { 162 if (traverse_string(in, len, inform, type_str, &mask) < 0) {
166 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ASN1_R_ILLEGAL_CHARACTERS); 163 ASN1error(ASN1_R_ILLEGAL_CHARACTERS);
167 return -1; 164 return -1;
168 } 165 }
169 166
@@ -201,8 +198,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
201 free_out = 1; 198 free_out = 1;
202 dest = ASN1_STRING_type_new(str_type); 199 dest = ASN1_STRING_type_new(str_type);
203 if (!dest) { 200 if (!dest) {
204 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 201 ASN1error(ERR_R_MALLOC_FAILURE);
205 ERR_R_MALLOC_FAILURE);
206 return -1; 202 return -1;
207 } 203 }
208 *out = dest; 204 *out = dest;
@@ -210,8 +206,7 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
210 /* If both the same type just copy across */ 206 /* If both the same type just copy across */
211 if (inform == outform) { 207 if (inform == outform) {
212 if (!ASN1_STRING_set(dest, in, len)) { 208 if (!ASN1_STRING_set(dest, in, len)) {
213 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 209 ASN1error(ERR_R_MALLOC_FAILURE);
214 ERR_R_MALLOC_FAILURE);
215 goto err; 210 goto err;
216 } 211 }
217 return str_type; 212 return str_type;
@@ -237,15 +232,14 @@ ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
237 case MBSTRING_UTF8: 232 case MBSTRING_UTF8:
238 outlen = 0; 233 outlen = 0;
239 if (traverse_string(in, len, inform, out_utf8, &outlen) < 0) { 234 if (traverse_string(in, len, inform, out_utf8, &outlen) < 0) {
240 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, 235 ASN1error(ASN1_R_ILLEGAL_CHARACTERS);
241 ASN1_R_ILLEGAL_CHARACTERS);
242 goto err; 236 goto err;
243 } 237 }
244 cpyfunc = cpy_utf8; 238 cpyfunc = cpy_utf8;
245 break; 239 break;
246 } 240 }
247 if (!(p = malloc(outlen + 1))) { 241 if (!(p = malloc(outlen + 1))) {
248 ASN1err(ASN1_F_ASN1_MBSTRING_NCOPY, ERR_R_MALLOC_FAILURE); 242 ASN1error(ERR_R_MALLOC_FAILURE);
249 goto err; 243 goto err;
250 } 244 }
251 dest->length = outlen; 245 dest->length = outlen;
diff --git a/src/lib/libcrypto/asn1/a_object.c b/src/lib/libcrypto/asn1/a_object.c
index 44694d2ba7..711b01f149 100644
--- a/src/lib/libcrypto/asn1/a_object.c
+++ b/src/lib/libcrypto/asn1/a_object.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_object.c,v 1.28 2016/11/06 17:04:48 bcook Exp $ */ 1/* $OpenBSD: a_object.c,v 1.29 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -109,12 +109,12 @@ a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
109 if ((c >= '0') && (c <= '2')) { 109 if ((c >= '0') && (c <= '2')) {
110 first= c-'0'; 110 first= c-'0';
111 } else { 111 } else {
112 ASN1err(ASN1_F_A2D_ASN1_OBJECT, ASN1_R_FIRST_NUM_TOO_LARGE); 112 ASN1error(ASN1_R_FIRST_NUM_TOO_LARGE);
113 goto err; 113 goto err;
114 } 114 }
115 115
116 if (num <= 0) { 116 if (num <= 0) {
117 ASN1err(ASN1_F_A2D_ASN1_OBJECT, ASN1_R_MISSING_SECOND_NUMBER); 117 ASN1error(ASN1_R_MISSING_SECOND_NUMBER);
118 goto err; 118 goto err;
119 } 119 }
120 c = *(p++); 120 c = *(p++);
@@ -123,8 +123,7 @@ a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
123 if (num <= 0) 123 if (num <= 0)
124 break; 124 break;
125 if ((c != '.') && (c != ' ')) { 125 if ((c != '.') && (c != ' ')) {
126 ASN1err(ASN1_F_A2D_ASN1_OBJECT, 126 ASN1error(ASN1_R_INVALID_SEPARATOR);
127 ASN1_R_INVALID_SEPARATOR);
128 goto err; 127 goto err;
129 } 128 }
130 l = 0; 129 l = 0;
@@ -137,8 +136,7 @@ a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
137 if ((c == ' ') || (c == '.')) 136 if ((c == ' ') || (c == '.'))
138 break; 137 break;
139 if ((c < '0') || (c > '9')) { 138 if ((c < '0') || (c > '9')) {
140 ASN1err(ASN1_F_A2D_ASN1_OBJECT, 139 ASN1error(ASN1_R_INVALID_DIGIT);
141 ASN1_R_INVALID_DIGIT);
142 goto err; 140 goto err;
143 } 141 }
144 if (!use_bn && l >= ((ULONG_MAX - 80) / 10L)) { 142 if (!use_bn && l >= ((ULONG_MAX - 80) / 10L)) {
@@ -157,8 +155,7 @@ a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
157 } 155 }
158 if (len == 0) { 156 if (len == 0) {
159 if ((first < 2) && (l >= 40)) { 157 if ((first < 2) && (l >= 40)) {
160 ASN1err(ASN1_F_A2D_ASN1_OBJECT, 158 ASN1error(ASN1_R_SECOND_NUMBER_TOO_LARGE);
161 ASN1_R_SECOND_NUMBER_TOO_LARGE);
162 goto err; 159 goto err;
163 } 160 }
164 if (use_bn) { 161 if (use_bn) {
@@ -194,8 +191,7 @@ a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
194 } 191 }
195 if (out != NULL) { 192 if (out != NULL) {
196 if (len + i > olen) { 193 if (len + i > olen) {
197 ASN1err(ASN1_F_A2D_ASN1_OBJECT, 194 ASN1error(ASN1_R_BUFFER_TOO_SMALL);
198 ASN1_R_BUFFER_TOO_SMALL);
199 goto err; 195 goto err;
200 } 196 }
201 while (--i > 0) 197 while (--i > 0)
@@ -277,7 +273,7 @@ d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long length)
277 return ret; 273 return ret;
278 274
279err: 275err:
280 ASN1err(ASN1_F_D2I_ASN1_OBJECT, i); 276 ASN1error(i);
281 return (NULL); 277 return (NULL);
282} 278}
283 279
@@ -297,7 +293,7 @@ c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long len)
297 */ 293 */
298 if (len <= 0 || len > INT_MAX || pp == NULL || (p = *pp) == NULL || 294 if (len <= 0 || len > INT_MAX || pp == NULL || (p = *pp) == NULL ||
299 p[len - 1] & 0x80) { 295 p[len - 1] & 0x80) {
300 ASN1err(ASN1_F_C2I_ASN1_OBJECT, ASN1_R_INVALID_OBJECT_ENCODING); 296 ASN1error(ASN1_R_INVALID_OBJECT_ENCODING);
301 return (NULL); 297 return (NULL);
302 } 298 }
303 299
@@ -305,8 +301,7 @@ c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long len)
305 length = (int)len; 301 length = (int)len;
306 for (i = 0; i < length; i++, p++) { 302 for (i = 0; i < length; i++, p++) {
307 if (*p == 0x80 && (!i || !(p[-1] & 0x80))) { 303 if (*p == 0x80 && (!i || !(p[-1] & 0x80))) {
308 ASN1err(ASN1_F_C2I_ASN1_OBJECT, 304 ASN1error(ASN1_R_INVALID_OBJECT_ENCODING);
309 ASN1_R_INVALID_OBJECT_ENCODING);
310 return (NULL); 305 return (NULL);
311 } 306 }
312 } 307 }
@@ -330,7 +325,7 @@ c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long len)
330 325
331 data = malloc(length); 326 data = malloc(length);
332 if (data == NULL) { 327 if (data == NULL) {
333 ASN1err(ASN1_F_C2I_ASN1_OBJECT, ERR_R_MALLOC_FAILURE); 328 ASN1error(ERR_R_MALLOC_FAILURE);
334 goto err; 329 goto err;
335 } 330 }
336 331
@@ -362,7 +357,7 @@ ASN1_OBJECT_new(void)
362 357
363 ret = malloc(sizeof(ASN1_OBJECT)); 358 ret = malloc(sizeof(ASN1_OBJECT));
364 if (ret == NULL) { 359 if (ret == NULL) {
365 ASN1err(ASN1_F_ASN1_OBJECT_NEW, ERR_R_MALLOC_FAILURE); 360 ASN1error(ERR_R_MALLOC_FAILURE);
366 return (NULL); 361 return (NULL);
367 } 362 }
368 ret->length = 0; 363 ret->length = 0;
diff --git a/src/lib/libcrypto/asn1/a_set.c b/src/lib/libcrypto/asn1/a_set.c
index 63d55c3714..4d5cae337b 100644
--- a/src/lib/libcrypto/asn1/a_set.c
+++ b/src/lib/libcrypto/asn1/a_set.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_set.c,v 1.17 2015/03/19 14:00:22 tedu Exp $ */ 1/* $OpenBSD: a_set.c,v 1.18 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -125,7 +125,7 @@ i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, i2d_of_void *i2d,
125 /* In this array we will store the SET blobs */ 125 /* In this array we will store the SET blobs */
126 rgSetBlob = reallocarray(NULL, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB)); 126 rgSetBlob = reallocarray(NULL, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB));
127 if (rgSetBlob == NULL) { 127 if (rgSetBlob == NULL) {
128 ASN1err(ASN1_F_I2D_ASN1_SET, ERR_R_MALLOC_FAILURE); 128 ASN1error(ERR_R_MALLOC_FAILURE);
129 return 0; 129 return 0;
130 } 130 }
131 131
@@ -146,7 +146,7 @@ i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, i2d_of_void *i2d,
146 qsort(rgSetBlob, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB), SetBlobCmp); 146 qsort(rgSetBlob, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB), SetBlobCmp);
147 if ((pTempMem = malloc(totSize)) == NULL) { 147 if ((pTempMem = malloc(totSize)) == NULL) {
148 free(rgSetBlob); 148 free(rgSetBlob);
149 ASN1err(ASN1_F_I2D_ASN1_SET, ERR_R_MALLOC_FAILURE); 149 ASN1error(ERR_R_MALLOC_FAILURE);
150 return 0; 150 return 0;
151 } 151 }
152 152
@@ -175,7 +175,7 @@ d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, const unsigned char **pp, long length,
175 175
176 if (a == NULL || (*a) == NULL) { 176 if (a == NULL || (*a) == NULL) {
177 if ((ret = sk_OPENSSL_BLOCK_new_null()) == NULL) { 177 if ((ret = sk_OPENSSL_BLOCK_new_null()) == NULL) {
178 ASN1err(ASN1_F_D2I_ASN1_SET, ERR_R_MALLOC_FAILURE); 178 ASN1error(ERR_R_MALLOC_FAILURE);
179 goto err; 179 goto err;
180 } 180 }
181 } else 181 } else
@@ -188,15 +188,15 @@ d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, const unsigned char **pp, long length,
188 if (c.inf & 0x80) 188 if (c.inf & 0x80)
189 goto err; 189 goto err;
190 if (ex_class != c.xclass) { 190 if (ex_class != c.xclass) {
191 ASN1err(ASN1_F_D2I_ASN1_SET, ASN1_R_BAD_CLASS); 191 ASN1error(ASN1_R_BAD_CLASS);
192 goto err; 192 goto err;
193 } 193 }
194 if (ex_tag != c.tag) { 194 if (ex_tag != c.tag) {
195 ASN1err(ASN1_F_D2I_ASN1_SET, ASN1_R_BAD_TAG); 195 ASN1error(ASN1_R_BAD_TAG);
196 goto err; 196 goto err;
197 } 197 }
198 if (c.slen + c.p > c.max) { 198 if (c.slen + c.p > c.max) {
199 ASN1err(ASN1_F_D2I_ASN1_SET, ASN1_R_LENGTH_ERROR); 199 ASN1error(ASN1_R_LENGTH_ERROR);
200 goto err; 200 goto err;
201 } 201 }
202 /* check for infinite constructed - it can be as long 202 /* check for infinite constructed - it can be as long
@@ -211,8 +211,7 @@ d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, const unsigned char **pp, long length,
211 if (M_ASN1_D2I_end_sequence()) 211 if (M_ASN1_D2I_end_sequence())
212 break; 212 break;
213 if ((s = d2i(NULL, &c.p, c.slen)) == NULL) { 213 if ((s = d2i(NULL, &c.p, c.slen)) == NULL) {
214 ASN1err(ASN1_F_D2I_ASN1_SET, 214 ASN1error(ASN1_R_ERROR_PARSING_SET_ELEMENT);
215 ASN1_R_ERROR_PARSING_SET_ELEMENT);
216 asn1_add_error(*pp, (int)(c.p - *pp)); 215 asn1_add_error(*pp, (int)(c.p - *pp));
217 goto err; 216 goto err;
218 } 217 }
diff --git a/src/lib/libcrypto/asn1/a_sign.c b/src/lib/libcrypto/asn1/a_sign.c
index 195daa3b9f..4e545eb719 100644
--- a/src/lib/libcrypto/asn1/a_sign.c
+++ b/src/lib/libcrypto/asn1/a_sign.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_sign.c,v 1.21 2015/09/10 15:56:24 jsing Exp $ */ 1/* $OpenBSD: a_sign.c,v 1.22 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -153,8 +153,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
153 pkey = EVP_PKEY_CTX_get0_pkey(ctx->pctx); 153 pkey = EVP_PKEY_CTX_get0_pkey(ctx->pctx);
154 154
155 if (!type || !pkey) { 155 if (!type || !pkey) {
156 ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, 156 ASN1error(ASN1_R_CONTEXT_NOT_INITIALISED);
157 ASN1_R_CONTEXT_NOT_INITIALISED);
158 return 0; 157 return 0;
159 } 158 }
160 159
@@ -170,7 +169,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
170 * 3: ASN1 method sets algorithm identifiers: just sign. 169 * 3: ASN1 method sets algorithm identifiers: just sign.
171 */ 170 */
172 if (rv <= 0) 171 if (rv <= 0)
173 ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB); 172 ASN1error(ERR_R_EVP_LIB);
174 if (rv <= 1) 173 if (rv <= 1)
175 goto err; 174 goto err;
176 } else 175 } else
@@ -181,8 +180,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
181 if (!pkey->ameth || 180 if (!pkey->ameth ||
182 !OBJ_find_sigid_by_algs(&signid, 181 !OBJ_find_sigid_by_algs(&signid,
183 EVP_MD_nid(type), pkey->ameth->pkey_id)) { 182 EVP_MD_nid(type), pkey->ameth->pkey_id)) {
184 ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, 183 ASN1error(ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
185 ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED);
186 return 0; 184 return 0;
187 } 185 }
188 } else 186 } else
@@ -207,14 +205,14 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2,
207 buf_out = malloc(outl); 205 buf_out = malloc(outl);
208 if ((buf_in == NULL) || (buf_out == NULL)) { 206 if ((buf_in == NULL) || (buf_out == NULL)) {
209 outl = 0; 207 outl = 0;
210 ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_MALLOC_FAILURE); 208 ASN1error(ERR_R_MALLOC_FAILURE);
211 goto err; 209 goto err;
212 } 210 }
213 211
214 if (!EVP_DigestSignUpdate(ctx, buf_in, inl) || 212 if (!EVP_DigestSignUpdate(ctx, buf_in, inl) ||
215 !EVP_DigestSignFinal(ctx, buf_out, &outl)) { 213 !EVP_DigestSignFinal(ctx, buf_out, &outl)) {
216 outl = 0; 214 outl = 0;
217 ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB); 215 ASN1error(ERR_R_EVP_LIB);
218 goto err; 216 goto err;
219 } 217 }
220 free(signature->data); 218 free(signature->data);
diff --git a/src/lib/libcrypto/asn1/a_strnid.c b/src/lib/libcrypto/asn1/a_strnid.c
index f325d91924..0585f7050b 100644
--- a/src/lib/libcrypto/asn1/a_strnid.c
+++ b/src/lib/libcrypto/asn1/a_strnid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_strnid.c,v 1.20 2017/01/21 04:31:25 jsing Exp $ */ 1/* $OpenBSD: a_strnid.c,v 1.21 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -258,14 +258,13 @@ ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned long mask,
258 if (!stable) 258 if (!stable)
259 stable = sk_ASN1_STRING_TABLE_new(sk_table_cmp); 259 stable = sk_ASN1_STRING_TABLE_new(sk_table_cmp);
260 if (!stable) { 260 if (!stable) {
261 ASN1err(ASN1_F_ASN1_STRING_TABLE_ADD, ERR_R_MALLOC_FAILURE); 261 ASN1error(ERR_R_MALLOC_FAILURE);
262 return 0; 262 return 0;
263 } 263 }
264 if (!(tmp = ASN1_STRING_TABLE_get(nid))) { 264 if (!(tmp = ASN1_STRING_TABLE_get(nid))) {
265 tmp = malloc(sizeof(ASN1_STRING_TABLE)); 265 tmp = malloc(sizeof(ASN1_STRING_TABLE));
266 if (!tmp) { 266 if (!tmp) {
267 ASN1err(ASN1_F_ASN1_STRING_TABLE_ADD, 267 ASN1error(ERR_R_MALLOC_FAILURE);
268 ERR_R_MALLOC_FAILURE);
269 return 0; 268 return 0;
270 } 269 }
271 tmp->flags = flags | STABLE_FLAGS_MALLOC; 270 tmp->flags = flags | STABLE_FLAGS_MALLOC;
@@ -280,8 +279,7 @@ ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned long mask,
280 if (new_nid) { 279 if (new_nid) {
281 if (sk_ASN1_STRING_TABLE_push(stable, tmp) == 0) { 280 if (sk_ASN1_STRING_TABLE_push(stable, tmp) == 0) {
282 free(tmp); 281 free(tmp);
283 ASN1err(ASN1_F_ASN1_STRING_TABLE_ADD, 282 ASN1error(ERR_R_MALLOC_FAILURE);
284 ERR_R_MALLOC_FAILURE);
285 return 0; 283 return 0;
286 } 284 }
287 } 285 }
diff --git a/src/lib/libcrypto/asn1/a_time_tm.c b/src/lib/libcrypto/asn1/a_time_tm.c
index fcd3acf9c8..b2f65045b5 100644
--- a/src/lib/libcrypto/asn1/a_time_tm.c
+++ b/src/lib/libcrypto/asn1/a_time_tm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_time_tm.c,v 1.10 2016/11/04 18:07:23 beck Exp $ */ 1/* $OpenBSD: a_time_tm.c,v 1.11 2017/01/29 17:49:22 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2015 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2015 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -267,8 +267,7 @@ ASN1_TIME_adj_internal(ASN1_TIME *s, time_t t, int offset_day, long offset_sec,
267 return (NULL); 267 return (NULL);
268 } 268 }
269 if (p == NULL) { 269 if (p == NULL) {
270 ASN1err(ASN1_F_ASN1_GENERALIZEDTIME_ADJ, 270 ASN1error(ASN1_R_ILLEGAL_TIME_VALUE);
271 ASN1_R_ILLEGAL_TIME_VALUE);
272 return (NULL); 271 return (NULL);
273 } 272 }
274 273
diff --git a/src/lib/libcrypto/asn1/a_verify.c b/src/lib/libcrypto/asn1/a_verify.c
index 12b76501e0..8f8e58c095 100644
--- a/src/lib/libcrypto/asn1/a_verify.c
+++ b/src/lib/libcrypto/asn1/a_verify.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_verify.c,v 1.22 2015/09/10 15:56:24 jsing Exp $ */ 1/* $OpenBSD: a_verify.c,v 1.23 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -82,14 +82,13 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
82 int mdnid, pknid; 82 int mdnid, pknid;
83 83
84 if (!pkey) { 84 if (!pkey) {
85 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_PASSED_NULL_PARAMETER); 85 ASN1error(ERR_R_PASSED_NULL_PARAMETER);
86 return -1; 86 return -1;
87 } 87 }
88 88
89 if (signature->type == V_ASN1_BIT_STRING && signature->flags & 0x7) 89 if (signature->type == V_ASN1_BIT_STRING && signature->flags & 0x7)
90 { 90 {
91 ASN1err(ASN1_F_ASN1_VERIFY, 91 ASN1error(ASN1_R_INVALID_BIT_STRING_BITS_LEFT);
92 ASN1_R_INVALID_BIT_STRING_BITS_LEFT);
93 return -1; 92 return -1;
94 } 93 }
95 94
@@ -97,14 +96,12 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
97 96
98 /* Convert signature OID into digest and public key OIDs */ 97 /* Convert signature OID into digest and public key OIDs */
99 if (!OBJ_find_sigid_algs(OBJ_obj2nid(a->algorithm), &mdnid, &pknid)) { 98 if (!OBJ_find_sigid_algs(OBJ_obj2nid(a->algorithm), &mdnid, &pknid)) {
100 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, 99 ASN1error(ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
101 ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
102 goto err; 100 goto err;
103 } 101 }
104 if (mdnid == NID_undef) { 102 if (mdnid == NID_undef) {
105 if (!pkey->ameth || !pkey->ameth->item_verify) { 103 if (!pkey->ameth || !pkey->ameth->item_verify) {
106 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, 104 ASN1error(ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
107 ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
108 goto err; 105 goto err;
109 } 106 }
110 ret = pkey->ameth->item_verify(&ctx, it, asn, a, 107 ret = pkey->ameth->item_verify(&ctx, it, asn, a,
@@ -120,20 +117,18 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
120 const EVP_MD *type; 117 const EVP_MD *type;
121 type = EVP_get_digestbynid(mdnid); 118 type = EVP_get_digestbynid(mdnid);
122 if (type == NULL) { 119 if (type == NULL) {
123 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, 120 ASN1error(ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
124 ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
125 goto err; 121 goto err;
126 } 122 }
127 123
128 /* Check public key OID matches public key type */ 124 /* Check public key OID matches public key type */
129 if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id) { 125 if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id) {
130 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, 126 ASN1error(ASN1_R_WRONG_PUBLIC_KEY_TYPE);
131 ASN1_R_WRONG_PUBLIC_KEY_TYPE);
132 goto err; 127 goto err;
133 } 128 }
134 129
135 if (!EVP_DigestVerifyInit(&ctx, NULL, type, NULL, pkey)) { 130 if (!EVP_DigestVerifyInit(&ctx, NULL, type, NULL, pkey)) {
136 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB); 131 ASN1error(ERR_R_EVP_LIB);
137 ret = 0; 132 ret = 0;
138 goto err; 133 goto err;
139 } 134 }
@@ -143,12 +138,12 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
143 inl = ASN1_item_i2d(asn, &buf_in, it); 138 inl = ASN1_item_i2d(asn, &buf_in, it);
144 139
145 if (buf_in == NULL) { 140 if (buf_in == NULL) {
146 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_MALLOC_FAILURE); 141 ASN1error(ERR_R_MALLOC_FAILURE);
147 goto err; 142 goto err;
148 } 143 }
149 144
150 if (!EVP_DigestVerifyUpdate(&ctx, buf_in, inl)) { 145 if (!EVP_DigestVerifyUpdate(&ctx, buf_in, inl)) {
151 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB); 146 ASN1error(ERR_R_EVP_LIB);
152 ret = 0; 147 ret = 0;
153 goto err; 148 goto err;
154 } 149 }
@@ -158,7 +153,7 @@ ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
158 153
159 if (EVP_DigestVerifyFinal(&ctx, signature->data, 154 if (EVP_DigestVerifyFinal(&ctx, signature->data,
160 (size_t)signature->length) <= 0) { 155 (size_t)signature->length) <= 0) {
161 ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB); 156 ASN1error(ERR_R_EVP_LIB);
162 ret = 0; 157 ret = 0;
163 goto err; 158 goto err;
164 } 159 }
diff --git a/src/lib/libcrypto/asn1/asn1_err.c b/src/lib/libcrypto/asn1/asn1_err.c
index 8fd5cf6765..0c827a9236 100644
--- a/src/lib/libcrypto/asn1/asn1_err.c
+++ b/src/lib/libcrypto/asn1/asn1_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_err.c,v 1.19 2015/02/15 14:35:30 miod Exp $ */ 1/* $OpenBSD: asn1_err.c,v 1.20 2017/01/29 17:49:22 beck Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -72,127 +72,7 @@
72#define ERR_REASON(reason) ERR_PACK(ERR_LIB_ASN1,0,reason) 72#define ERR_REASON(reason) ERR_PACK(ERR_LIB_ASN1,0,reason)
73 73
74static ERR_STRING_DATA ASN1_str_functs[] = { 74static ERR_STRING_DATA ASN1_str_functs[] = {
75 {ERR_FUNC(ASN1_F_A2D_ASN1_OBJECT), "a2d_ASN1_OBJECT"}, 75 {ERR_FUNC(0xfff), "CRYPTO_internal"},
76 {ERR_FUNC(ASN1_F_A2I_ASN1_ENUMERATED), "a2i_ASN1_ENUMERATED"},
77 {ERR_FUNC(ASN1_F_A2I_ASN1_INTEGER), "a2i_ASN1_INTEGER"},
78 {ERR_FUNC(ASN1_F_A2I_ASN1_STRING), "a2i_ASN1_STRING"},
79 {ERR_FUNC(ASN1_F_APPEND_EXP), "APPEND_EXP"},
80 {ERR_FUNC(ASN1_F_ASN1_BIT_STRING_SET_BIT), "ASN1_BIT_STRING_set_bit"},
81 {ERR_FUNC(ASN1_F_ASN1_CB), "ASN1_CB"},
82 {ERR_FUNC(ASN1_F_ASN1_CHECK_TLEN), "ASN1_CHECK_TLEN"},
83 {ERR_FUNC(ASN1_F_ASN1_COLLATE_PRIMITIVE), "ASN1_COLLATE_PRIMITIVE"},
84 {ERR_FUNC(ASN1_F_ASN1_COLLECT), "ASN1_COLLECT"},
85 {ERR_FUNC(ASN1_F_ASN1_D2I_EX_PRIMITIVE), "ASN1_D2I_EX_PRIMITIVE"},
86 {ERR_FUNC(ASN1_F_ASN1_D2I_FP), "ASN1_d2i_fp"},
87 {ERR_FUNC(ASN1_F_ASN1_D2I_READ_BIO), "ASN1_D2I_READ_BIO"},
88 {ERR_FUNC(ASN1_F_ASN1_DIGEST), "ASN1_digest"},
89 {ERR_FUNC(ASN1_F_ASN1_DO_ADB), "ASN1_DO_ADB"},
90 {ERR_FUNC(ASN1_F_ASN1_DUP), "ASN1_dup"},
91 {ERR_FUNC(ASN1_F_ASN1_ENUMERATED_SET), "ASN1_ENUMERATED_set"},
92 {ERR_FUNC(ASN1_F_ASN1_ENUMERATED_TO_BN), "ASN1_ENUMERATED_to_BN"},
93 {ERR_FUNC(ASN1_F_ASN1_EX_C2I), "ASN1_EX_C2I"},
94 {ERR_FUNC(ASN1_F_ASN1_FIND_END), "ASN1_FIND_END"},
95 {ERR_FUNC(ASN1_F_ASN1_GENERALIZEDTIME_ADJ), "ASN1_GENERALIZEDTIME_adj"},
96 {ERR_FUNC(ASN1_F_ASN1_GENERALIZEDTIME_SET), "ASN1_GENERALIZEDTIME_set"},
97 {ERR_FUNC(ASN1_F_ASN1_GENERATE_V3), "ASN1_generate_v3"},
98 {ERR_FUNC(ASN1_F_ASN1_GET_OBJECT), "ASN1_get_object"},
99 {ERR_FUNC(ASN1_F_ASN1_HEADER_NEW), "ASN1_HEADER_NEW"},
100 {ERR_FUNC(ASN1_F_ASN1_I2D_BIO), "ASN1_i2d_bio"},
101 {ERR_FUNC(ASN1_F_ASN1_I2D_FP), "ASN1_i2d_fp"},
102 {ERR_FUNC(ASN1_F_ASN1_INTEGER_SET), "ASN1_INTEGER_set"},
103 {ERR_FUNC(ASN1_F_ASN1_INTEGER_TO_BN), "ASN1_INTEGER_to_BN"},
104 {ERR_FUNC(ASN1_F_ASN1_ITEM_D2I_FP), "ASN1_item_d2i_fp"},
105 {ERR_FUNC(ASN1_F_ASN1_ITEM_DUP), "ASN1_item_dup"},
106 {ERR_FUNC(ASN1_F_ASN1_ITEM_EX_COMBINE_NEW), "ASN1_ITEM_EX_COMBINE_NEW"},
107 {ERR_FUNC(ASN1_F_ASN1_ITEM_EX_D2I), "ASN1_ITEM_EX_D2I"},
108 {ERR_FUNC(ASN1_F_ASN1_ITEM_I2D_BIO), "ASN1_item_i2d_bio"},
109 {ERR_FUNC(ASN1_F_ASN1_ITEM_I2D_FP), "ASN1_item_i2d_fp"},
110 {ERR_FUNC(ASN1_F_ASN1_ITEM_PACK), "ASN1_item_pack"},
111 {ERR_FUNC(ASN1_F_ASN1_ITEM_SIGN), "ASN1_item_sign"},
112 {ERR_FUNC(ASN1_F_ASN1_ITEM_SIGN_CTX), "ASN1_item_sign_ctx"},
113 {ERR_FUNC(ASN1_F_ASN1_ITEM_UNPACK), "ASN1_item_unpack"},
114 {ERR_FUNC(ASN1_F_ASN1_ITEM_VERIFY), "ASN1_item_verify"},
115 {ERR_FUNC(ASN1_F_ASN1_MBSTRING_NCOPY), "ASN1_mbstring_ncopy"},
116 {ERR_FUNC(ASN1_F_ASN1_OBJECT_NEW), "ASN1_OBJECT_new"},
117 {ERR_FUNC(ASN1_F_ASN1_OUTPUT_DATA), "ASN1_OUTPUT_DATA"},
118 {ERR_FUNC(ASN1_F_ASN1_PACK_STRING), "ASN1_pack_string"},
119 {ERR_FUNC(ASN1_F_ASN1_PCTX_NEW), "ASN1_PCTX_new"},
120 {ERR_FUNC(ASN1_F_ASN1_PKCS5_PBE_SET), "ASN1_PKCS5_PBE_SET"},
121 {ERR_FUNC(ASN1_F_ASN1_SEQ_PACK), "ASN1_seq_pack"},
122 {ERR_FUNC(ASN1_F_ASN1_SEQ_UNPACK), "ASN1_seq_unpack"},
123 {ERR_FUNC(ASN1_F_ASN1_SIGN), "ASN1_sign"},
124 {ERR_FUNC(ASN1_F_ASN1_STR2TYPE), "ASN1_STR2TYPE"},
125 {ERR_FUNC(ASN1_F_ASN1_STRING_SET), "ASN1_STRING_set"},
126 {ERR_FUNC(ASN1_F_ASN1_STRING_TABLE_ADD), "ASN1_STRING_TABLE_add"},
127 {ERR_FUNC(ASN1_F_ASN1_STRING_TYPE_NEW), "ASN1_STRING_type_new"},
128 {ERR_FUNC(ASN1_F_ASN1_TEMPLATE_EX_D2I), "ASN1_TEMPLATE_EX_D2I"},
129 {ERR_FUNC(ASN1_F_ASN1_TEMPLATE_NEW), "ASN1_TEMPLATE_NEW"},
130 {ERR_FUNC(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I), "ASN1_TEMPLATE_NOEXP_D2I"},
131 {ERR_FUNC(ASN1_F_ASN1_TIME_ADJ), "ASN1_TIME_adj"},
132 {ERR_FUNC(ASN1_F_ASN1_TIME_SET), "ASN1_TIME_set"},
133 {ERR_FUNC(ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING), "ASN1_TYPE_get_int_octetstring"},
134 {ERR_FUNC(ASN1_F_ASN1_TYPE_GET_OCTETSTRING), "ASN1_TYPE_get_octetstring"},
135 {ERR_FUNC(ASN1_F_ASN1_UNPACK_STRING), "ASN1_unpack_string"},
136 {ERR_FUNC(ASN1_F_ASN1_UTCTIME_ADJ), "ASN1_UTCTIME_adj"},
137 {ERR_FUNC(ASN1_F_ASN1_UTCTIME_SET), "ASN1_UTCTIME_set"},
138 {ERR_FUNC(ASN1_F_ASN1_VERIFY), "ASN1_verify"},
139 {ERR_FUNC(ASN1_F_B64_READ_ASN1), "B64_READ_ASN1"},
140 {ERR_FUNC(ASN1_F_B64_WRITE_ASN1), "B64_WRITE_ASN1"},
141 {ERR_FUNC(ASN1_F_BIO_NEW_NDEF), "BIO_new_NDEF"},
142 {ERR_FUNC(ASN1_F_BITSTR_CB), "BITSTR_CB"},
143 {ERR_FUNC(ASN1_F_BN_TO_ASN1_ENUMERATED), "BN_to_ASN1_ENUMERATED"},
144 {ERR_FUNC(ASN1_F_BN_TO_ASN1_INTEGER), "BN_to_ASN1_INTEGER"},
145 {ERR_FUNC(ASN1_F_C2I_ASN1_BIT_STRING), "c2i_ASN1_BIT_STRING"},
146 {ERR_FUNC(ASN1_F_C2I_ASN1_INTEGER), "c2i_ASN1_INTEGER"},
147 {ERR_FUNC(ASN1_F_C2I_ASN1_OBJECT), "c2i_ASN1_OBJECT"},
148 {ERR_FUNC(ASN1_F_COLLECT_DATA), "COLLECT_DATA"},
149 {ERR_FUNC(ASN1_F_D2I_ASN1_BIT_STRING), "D2I_ASN1_BIT_STRING"},
150 {ERR_FUNC(ASN1_F_D2I_ASN1_BOOLEAN), "d2i_ASN1_BOOLEAN"},
151 {ERR_FUNC(ASN1_F_D2I_ASN1_BYTES), "d2i_ASN1_bytes"},
152 {ERR_FUNC(ASN1_F_D2I_ASN1_GENERALIZEDTIME), "D2I_ASN1_GENERALIZEDTIME"},
153 {ERR_FUNC(ASN1_F_D2I_ASN1_HEADER), "D2I_ASN1_HEADER"},
154 {ERR_FUNC(ASN1_F_D2I_ASN1_INTEGER), "D2I_ASN1_INTEGER"},
155 {ERR_FUNC(ASN1_F_D2I_ASN1_OBJECT), "d2i_ASN1_OBJECT"},
156 {ERR_FUNC(ASN1_F_D2I_ASN1_SET), "d2i_ASN1_SET"},
157 {ERR_FUNC(ASN1_F_D2I_ASN1_TYPE_BYTES), "d2i_ASN1_type_bytes"},
158 {ERR_FUNC(ASN1_F_D2I_ASN1_UINTEGER), "d2i_ASN1_UINTEGER"},
159 {ERR_FUNC(ASN1_F_D2I_ASN1_UTCTIME), "D2I_ASN1_UTCTIME"},
160 {ERR_FUNC(ASN1_F_D2I_AUTOPRIVATEKEY), "d2i_AutoPrivateKey"},
161 {ERR_FUNC(ASN1_F_D2I_NETSCAPE_RSA), "d2i_Netscape_RSA"},
162 {ERR_FUNC(ASN1_F_D2I_NETSCAPE_RSA_2), "D2I_NETSCAPE_RSA_2"},
163 {ERR_FUNC(ASN1_F_D2I_PRIVATEKEY), "d2i_PrivateKey"},
164 {ERR_FUNC(ASN1_F_D2I_PUBLICKEY), "d2i_PublicKey"},
165 {ERR_FUNC(ASN1_F_D2I_RSA_NET), "d2i_RSA_NET"},
166 {ERR_FUNC(ASN1_F_D2I_RSA_NET_2), "D2I_RSA_NET_2"},
167 {ERR_FUNC(ASN1_F_D2I_X509), "D2I_X509"},
168 {ERR_FUNC(ASN1_F_D2I_X509_CINF), "D2I_X509_CINF"},
169 {ERR_FUNC(ASN1_F_D2I_X509_PKEY), "d2i_X509_PKEY"},
170 {ERR_FUNC(ASN1_F_I2D_ASN1_BIO_STREAM), "i2d_ASN1_bio_stream"},
171 {ERR_FUNC(ASN1_F_I2D_ASN1_SET), "i2d_ASN1_SET"},
172 {ERR_FUNC(ASN1_F_I2D_ASN1_TIME), "I2D_ASN1_TIME"},
173 {ERR_FUNC(ASN1_F_I2D_DSA_PUBKEY), "i2d_DSA_PUBKEY"},
174 {ERR_FUNC(ASN1_F_I2D_EC_PUBKEY), "i2d_EC_PUBKEY"},
175 {ERR_FUNC(ASN1_F_I2D_PRIVATEKEY), "i2d_PrivateKey"},
176 {ERR_FUNC(ASN1_F_I2D_PUBLICKEY), "i2d_PublicKey"},
177 {ERR_FUNC(ASN1_F_I2D_RSA_NET), "i2d_RSA_NET"},
178 {ERR_FUNC(ASN1_F_I2D_RSA_PUBKEY), "i2d_RSA_PUBKEY"},
179 {ERR_FUNC(ASN1_F_LONG_C2I), "LONG_C2I"},
180 {ERR_FUNC(ASN1_F_OID_MODULE_INIT), "OID_MODULE_INIT"},
181 {ERR_FUNC(ASN1_F_PARSE_TAGGING), "PARSE_TAGGING"},
182 {ERR_FUNC(ASN1_F_PKCS5_PBE2_SET_IV), "PKCS5_pbe2_set_iv"},
183 {ERR_FUNC(ASN1_F_PKCS5_PBE_SET), "PKCS5_pbe_set"},
184 {ERR_FUNC(ASN1_F_PKCS5_PBE_SET0_ALGOR), "PKCS5_pbe_set0_algor"},
185 {ERR_FUNC(ASN1_F_PKCS5_PBKDF2_SET), "PKCS5_pbkdf2_set"},
186 {ERR_FUNC(ASN1_F_SMIME_READ_ASN1), "SMIME_read_ASN1"},
187 {ERR_FUNC(ASN1_F_SMIME_TEXT), "SMIME_text"},
188 {ERR_FUNC(ASN1_F_X509_CINF_NEW), "X509_CINF_NEW"},
189 {ERR_FUNC(ASN1_F_X509_CRL_ADD0_REVOKED), "X509_CRL_add0_revoked"},
190 {ERR_FUNC(ASN1_F_X509_INFO_NEW), "X509_INFO_new"},
191 {ERR_FUNC(ASN1_F_X509_NAME_ENCODE), "X509_NAME_ENCODE"},
192 {ERR_FUNC(ASN1_F_X509_NAME_EX_D2I), "X509_NAME_EX_D2I"},
193 {ERR_FUNC(ASN1_F_X509_NAME_EX_NEW), "X509_NAME_EX_NEW"},
194 {ERR_FUNC(ASN1_F_X509_NEW), "X509_NEW"},
195 {ERR_FUNC(ASN1_F_X509_PKEY_NEW), "X509_PKEY_new"},
196 {0, NULL} 76 {0, NULL}
197}; 77};
198 78
diff --git a/src/lib/libcrypto/asn1/asn1_gen.c b/src/lib/libcrypto/asn1/asn1_gen.c
index e899337b6f..f84cc6136b 100644
--- a/src/lib/libcrypto/asn1/asn1_gen.c
+++ b/src/lib/libcrypto/asn1/asn1_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_gen.c,v 1.15 2015/12/12 21:03:52 beck Exp $ */ 1/* $OpenBSD: asn1_gen.c,v 1.16 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2002. 3 * project 2002.
4 */ 4 */
@@ -160,8 +160,7 @@ ASN1_generate_v3(char *str, X509V3_CTX *cnf)
160 if ((asn1_tags.utype == V_ASN1_SEQUENCE) || 160 if ((asn1_tags.utype == V_ASN1_SEQUENCE) ||
161 (asn1_tags.utype == V_ASN1_SET)) { 161 (asn1_tags.utype == V_ASN1_SET)) {
162 if (!cnf) { 162 if (!cnf) {
163 ASN1err(ASN1_F_ASN1_GENERATE_V3, 163 ASN1error(ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG);
164 ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG);
165 return NULL; 164 return NULL;
166 } 165 }
167 ret = asn1_multi(asn1_tags.utype, asn1_tags.str, cnf); 166 ret = asn1_multi(asn1_tags.utype, asn1_tags.str, cnf);
@@ -290,7 +289,7 @@ asn1_cb(const char *elem, int len, void *bitstr)
290 utype = asn1_str2tag(elem, len); 289 utype = asn1_str2tag(elem, len);
291 290
292 if (utype == -1) { 291 if (utype == -1) {
293 ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKNOWN_TAG); 292 ASN1error(ASN1_R_UNKNOWN_TAG);
294 ERR_asprintf_error_data("tag=%s", elem); 293 ERR_asprintf_error_data("tag=%s", elem);
295 return -1; 294 return -1;
296 } 295 }
@@ -301,7 +300,7 @@ asn1_cb(const char *elem, int len, void *bitstr)
301 arg->str = vstart; 300 arg->str = vstart;
302 /* If no value and not end of string, error */ 301 /* If no value and not end of string, error */
303 if (!vstart && elem[len]) { 302 if (!vstart && elem[len]) {
304 ASN1err(ASN1_F_ASN1_CB, ASN1_R_MISSING_VALUE); 303 ASN1error(ASN1_R_MISSING_VALUE);
305 return -1; 304 return -1;
306 } 305 }
307 return 0; 306 return 0;
@@ -312,7 +311,7 @@ asn1_cb(const char *elem, int len, void *bitstr)
312 case ASN1_GEN_FLAG_IMP: 311 case ASN1_GEN_FLAG_IMP:
313 /* Check for illegal multiple IMPLICIT tagging */ 312 /* Check for illegal multiple IMPLICIT tagging */
314 if (arg->imp_tag != -1) { 313 if (arg->imp_tag != -1) {
315 ASN1err(ASN1_F_ASN1_CB, ASN1_R_ILLEGAL_NESTED_TAGGING); 314 ASN1error(ASN1_R_ILLEGAL_NESTED_TAGGING);
316 return -1; 315 return -1;
317 } 316 }
318 if (!parse_tagging(vstart, vlen, &arg->imp_tag, 317 if (!parse_tagging(vstart, vlen, &arg->imp_tag,
@@ -349,7 +348,7 @@ asn1_cb(const char *elem, int len, void *bitstr)
349 348
350 case ASN1_GEN_FLAG_FORMAT: 349 case ASN1_GEN_FLAG_FORMAT:
351 if (vstart == NULL) { 350 if (vstart == NULL) {
352 ASN1err(ASN1_F_ASN1_CB, ASN1_R_ILLEGAL_FORMAT); 351 ASN1error(ASN1_R_ILLEGAL_FORMAT);
353 return -1; 352 return -1;
354 } 353 }
355 if (!strncmp(vstart, "ASCII", 5)) 354 if (!strncmp(vstart, "ASCII", 5))
@@ -361,7 +360,7 @@ asn1_cb(const char *elem, int len, void *bitstr)
361 else if (!strncmp(vstart, "BITLIST", 7)) 360 else if (!strncmp(vstart, "BITLIST", 7))
362 arg->format = ASN1_GEN_FORMAT_BITLIST; 361 arg->format = ASN1_GEN_FORMAT_BITLIST;
363 else { 362 else {
364 ASN1err(ASN1_F_ASN1_CB, ASN1_R_UNKOWN_FORMAT); 363 ASN1error(ASN1_R_UNKOWN_FORMAT);
365 return -1; 364 return -1;
366 } 365 }
367 break; 366 break;
@@ -384,7 +383,7 @@ parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass)
384 if (eptr && *eptr && (eptr > vstart + vlen)) 383 if (eptr && *eptr && (eptr > vstart + vlen))
385 return 0; 384 return 0;
386 if (tag_num < 0) { 385 if (tag_num < 0) {
387 ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_NUMBER); 386 ASN1error(ASN1_R_INVALID_NUMBER);
388 return 0; 387 return 0;
389 } 388 }
390 *ptag = tag_num; 389 *ptag = tag_num;
@@ -413,7 +412,7 @@ parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass)
413 break; 412 break;
414 413
415 default: 414 default:
416 ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER); 415 ASN1error(ASN1_R_INVALID_MODIFIER);
417 ERR_asprintf_error_data("Char=%c", *eptr); 416 ERR_asprintf_error_data("Char=%c", *eptr);
418 return 0; 417 return 0;
419 break; 418 break;
@@ -497,12 +496,12 @@ append_exp(tag_exp_arg *arg, int exp_tag, int exp_class, int exp_constructed,
497 496
498 /* Can only have IMPLICIT if permitted */ 497 /* Can only have IMPLICIT if permitted */
499 if ((arg->imp_tag != -1) && !imp_ok) { 498 if ((arg->imp_tag != -1) && !imp_ok) {
500 ASN1err(ASN1_F_APPEND_EXP, ASN1_R_ILLEGAL_IMPLICIT_TAG); 499 ASN1error(ASN1_R_ILLEGAL_IMPLICIT_TAG);
501 return 0; 500 return 0;
502 } 501 }
503 502
504 if (arg->exp_count == ASN1_FLAG_EXP_MAX) { 503 if (arg->exp_count == ASN1_FLAG_EXP_MAX) {
505 ASN1err(ASN1_F_APPEND_EXP, ASN1_R_DEPTH_EXCEEDED); 504 ASN1error(ASN1_R_DEPTH_EXCEEDED);
506 return 0; 505 return 0;
507 } 506 }
508 507
@@ -614,7 +613,7 @@ asn1_str2type(const char *str, int format, int utype)
614 int no_unused = 1; 613 int no_unused = 1;
615 614
616 if (!(atmp = ASN1_TYPE_new())) { 615 if (!(atmp = ASN1_TYPE_new())) {
617 ASN1err(ASN1_F_ASN1_STR2TYPE, ERR_R_MALLOC_FAILURE); 616 ASN1error(ERR_R_MALLOC_FAILURE);
618 return NULL; 617 return NULL;
619 } 618 }
620 619
@@ -625,22 +624,21 @@ asn1_str2type(const char *str, int format, int utype)
625 624
626 case V_ASN1_NULL: 625 case V_ASN1_NULL:
627 if (str && *str) { 626 if (str && *str) {
628 ASN1err(ASN1_F_ASN1_STR2TYPE, 627 ASN1error(ASN1_R_ILLEGAL_NULL_VALUE);
629 ASN1_R_ILLEGAL_NULL_VALUE);
630 goto bad_form; 628 goto bad_form;
631 } 629 }
632 break; 630 break;
633 631
634 case V_ASN1_BOOLEAN: 632 case V_ASN1_BOOLEAN:
635 if (format != ASN1_GEN_FORMAT_ASCII) { 633 if (format != ASN1_GEN_FORMAT_ASCII) {
636 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_NOT_ASCII_FORMAT); 634 ASN1error(ASN1_R_NOT_ASCII_FORMAT);
637 goto bad_form; 635 goto bad_form;
638 } 636 }
639 vtmp.name = NULL; 637 vtmp.name = NULL;
640 vtmp.section = NULL; 638 vtmp.section = NULL;
641 vtmp.value = (char *)str; 639 vtmp.value = (char *)str;
642 if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean)) { 640 if (!X509V3_get_value_bool(&vtmp, &atmp->value.boolean)) {
643 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_ILLEGAL_BOOLEAN); 641 ASN1error(ASN1_R_ILLEGAL_BOOLEAN);
644 goto bad_str; 642 goto bad_str;
645 } 643 }
646 break; 644 break;
@@ -648,25 +646,23 @@ asn1_str2type(const char *str, int format, int utype)
648 case V_ASN1_INTEGER: 646 case V_ASN1_INTEGER:
649 case V_ASN1_ENUMERATED: 647 case V_ASN1_ENUMERATED:
650 if (format != ASN1_GEN_FORMAT_ASCII) { 648 if (format != ASN1_GEN_FORMAT_ASCII) {
651 ASN1err(ASN1_F_ASN1_STR2TYPE, 649 ASN1error(ASN1_R_INTEGER_NOT_ASCII_FORMAT);
652 ASN1_R_INTEGER_NOT_ASCII_FORMAT);
653 goto bad_form; 650 goto bad_form;
654 } 651 }
655 if (!(atmp->value.integer = 652 if (!(atmp->value.integer =
656 s2i_ASN1_INTEGER(NULL, (char *)str))) { 653 s2i_ASN1_INTEGER(NULL, (char *)str))) {
657 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_ILLEGAL_INTEGER); 654 ASN1error(ASN1_R_ILLEGAL_INTEGER);
658 goto bad_str; 655 goto bad_str;
659 } 656 }
660 break; 657 break;
661 658
662 case V_ASN1_OBJECT: 659 case V_ASN1_OBJECT:
663 if (format != ASN1_GEN_FORMAT_ASCII) { 660 if (format != ASN1_GEN_FORMAT_ASCII) {
664 ASN1err(ASN1_F_ASN1_STR2TYPE, 661 ASN1error(ASN1_R_OBJECT_NOT_ASCII_FORMAT);
665 ASN1_R_OBJECT_NOT_ASCII_FORMAT);
666 goto bad_form; 662 goto bad_form;
667 } 663 }
668 if (!(atmp->value.object = OBJ_txt2obj(str, 0))) { 664 if (!(atmp->value.object = OBJ_txt2obj(str, 0))) {
669 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_ILLEGAL_OBJECT); 665 ASN1error(ASN1_R_ILLEGAL_OBJECT);
670 goto bad_str; 666 goto bad_str;
671 } 667 }
672 break; 668 break;
@@ -674,22 +670,20 @@ asn1_str2type(const char *str, int format, int utype)
674 case V_ASN1_UTCTIME: 670 case V_ASN1_UTCTIME:
675 case V_ASN1_GENERALIZEDTIME: 671 case V_ASN1_GENERALIZEDTIME:
676 if (format != ASN1_GEN_FORMAT_ASCII) { 672 if (format != ASN1_GEN_FORMAT_ASCII) {
677 ASN1err(ASN1_F_ASN1_STR2TYPE, 673 ASN1error(ASN1_R_TIME_NOT_ASCII_FORMAT);
678 ASN1_R_TIME_NOT_ASCII_FORMAT);
679 goto bad_form; 674 goto bad_form;
680 } 675 }
681 if (!(atmp->value.asn1_string = ASN1_STRING_new())) { 676 if (!(atmp->value.asn1_string = ASN1_STRING_new())) {
682 ASN1err(ASN1_F_ASN1_STR2TYPE, ERR_R_MALLOC_FAILURE); 677 ASN1error(ERR_R_MALLOC_FAILURE);
683 goto bad_str; 678 goto bad_str;
684 } 679 }
685 if (!ASN1_STRING_set(atmp->value.asn1_string, str, -1)) { 680 if (!ASN1_STRING_set(atmp->value.asn1_string, str, -1)) {
686 ASN1err(ASN1_F_ASN1_STR2TYPE, ERR_R_MALLOC_FAILURE); 681 ASN1error(ERR_R_MALLOC_FAILURE);
687 goto bad_str; 682 goto bad_str;
688 } 683 }
689 atmp->value.asn1_string->type = utype; 684 atmp->value.asn1_string->type = utype;
690 if (!ASN1_TIME_check(atmp->value.asn1_string)) { 685 if (!ASN1_TIME_check(atmp->value.asn1_string)) {
691 ASN1err(ASN1_F_ASN1_STR2TYPE, 686 ASN1error(ASN1_R_ILLEGAL_TIME_VALUE);
692 ASN1_R_ILLEGAL_TIME_VALUE);
693 goto bad_str; 687 goto bad_str;
694 } 688 }
695 break; 689 break;
@@ -709,14 +703,14 @@ asn1_str2type(const char *str, int format, int utype)
709 else if (format == ASN1_GEN_FORMAT_UTF8) 703 else if (format == ASN1_GEN_FORMAT_UTF8)
710 format = MBSTRING_UTF8; 704 format = MBSTRING_UTF8;
711 else { 705 else {
712 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_ILLEGAL_FORMAT); 706 ASN1error(ASN1_R_ILLEGAL_FORMAT);
713 goto bad_form; 707 goto bad_form;
714 } 708 }
715 709
716 if (ASN1_mbstring_copy(&atmp->value.asn1_string, 710 if (ASN1_mbstring_copy(&atmp->value.asn1_string,
717 (unsigned char *)str, -1, format, 711 (unsigned char *)str, -1, format,
718 ASN1_tag2bit(utype)) <= 0) { 712 ASN1_tag2bit(utype)) <= 0) {
719 ASN1err(ASN1_F_ASN1_STR2TYPE, ERR_R_MALLOC_FAILURE); 713 ASN1error(ERR_R_MALLOC_FAILURE);
720 goto bad_str; 714 goto bad_str;
721 } 715 }
722 break; 716 break;
@@ -724,15 +718,14 @@ asn1_str2type(const char *str, int format, int utype)
724 case V_ASN1_BIT_STRING: 718 case V_ASN1_BIT_STRING:
725 case V_ASN1_OCTET_STRING: 719 case V_ASN1_OCTET_STRING:
726 if (!(atmp->value.asn1_string = ASN1_STRING_new())) { 720 if (!(atmp->value.asn1_string = ASN1_STRING_new())) {
727 ASN1err(ASN1_F_ASN1_STR2TYPE, ERR_R_MALLOC_FAILURE); 721 ASN1error(ERR_R_MALLOC_FAILURE);
728 goto bad_form; 722 goto bad_form;
729 } 723 }
730 724
731 if (format == ASN1_GEN_FORMAT_HEX) { 725 if (format == ASN1_GEN_FORMAT_HEX) {
732 726
733 if (!(rdata = string_to_hex((char *)str, &rdlen))) { 727 if (!(rdata = string_to_hex((char *)str, &rdlen))) {
734 ASN1err(ASN1_F_ASN1_STR2TYPE, 728 ASN1error(ASN1_R_ILLEGAL_HEX);
735 ASN1_R_ILLEGAL_HEX);
736 goto bad_str; 729 goto bad_str;
737 } 730 }
738 731
@@ -743,23 +736,20 @@ asn1_str2type(const char *str, int format, int utype)
743 } else if (format == ASN1_GEN_FORMAT_ASCII) { 736 } else if (format == ASN1_GEN_FORMAT_ASCII) {
744 if (ASN1_STRING_set(atmp->value.asn1_string, str, 737 if (ASN1_STRING_set(atmp->value.asn1_string, str,
745 -1) == 0) { 738 -1) == 0) {
746 ASN1err(ASN1_F_ASN1_STR2TYPE, 739 ASN1error(ERR_R_MALLOC_FAILURE);
747 ERR_R_MALLOC_FAILURE);
748 goto bad_str; 740 goto bad_str;
749 } 741 }
750 } else if ((format == ASN1_GEN_FORMAT_BITLIST) && 742 } else if ((format == ASN1_GEN_FORMAT_BITLIST) &&
751 (utype == V_ASN1_BIT_STRING)) { 743 (utype == V_ASN1_BIT_STRING)) {
752 if (!CONF_parse_list(str, ',', 1, bitstr_cb, 744 if (!CONF_parse_list(str, ',', 1, bitstr_cb,
753 atmp->value.bit_string)) { 745 atmp->value.bit_string)) {
754 ASN1err(ASN1_F_ASN1_STR2TYPE, 746 ASN1error(ASN1_R_LIST_ERROR);
755 ASN1_R_LIST_ERROR);
756 goto bad_str; 747 goto bad_str;
757 } 748 }
758 no_unused = 0; 749 no_unused = 0;
759 750
760 } else { 751 } else {
761 ASN1err(ASN1_F_ASN1_STR2TYPE, 752 ASN1error(ASN1_R_ILLEGAL_BITSTRING_FORMAT);
762 ASN1_R_ILLEGAL_BITSTRING_FORMAT);
763 goto bad_form; 753 goto bad_form;
764 } 754 }
765 755
@@ -773,7 +763,7 @@ asn1_str2type(const char *str, int format, int utype)
773 break; 763 break;
774 764
775 default: 765 default:
776 ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_UNSUPPORTED_TYPE); 766 ASN1error(ASN1_R_UNSUPPORTED_TYPE);
777 goto bad_str; 767 goto bad_str;
778 break; 768 break;
779 } 769 }
@@ -800,11 +790,11 @@ bitstr_cb(const char *elem, int len, void *bitstr)
800 if (eptr && *eptr && (eptr != elem + len)) 790 if (eptr && *eptr && (eptr != elem + len))
801 return 0; 791 return 0;
802 if (bitnum < 0) { 792 if (bitnum < 0) {
803 ASN1err(ASN1_F_BITSTR_CB, ASN1_R_INVALID_NUMBER); 793 ASN1error(ASN1_R_INVALID_NUMBER);
804 return 0; 794 return 0;
805 } 795 }
806 if (!ASN1_BIT_STRING_set_bit(bitstr, bitnum, 1)) { 796 if (!ASN1_BIT_STRING_set_bit(bitstr, bitnum, 1)) {
807 ASN1err(ASN1_F_BITSTR_CB, ERR_R_MALLOC_FAILURE); 797 ASN1error(ERR_R_MALLOC_FAILURE);
808 return 0; 798 return 0;
809 } 799 }
810 return 1; 800 return 1;
diff --git a/src/lib/libcrypto/asn1/asn1_lib.c b/src/lib/libcrypto/asn1/asn1_lib.c
index 444a34c072..a90873d54a 100644
--- a/src/lib/libcrypto/asn1/asn1_lib.c
+++ b/src/lib/libcrypto/asn1/asn1_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn1_lib.c,v 1.37 2016/03/06 18:05:00 beck Exp $ */ 1/* $OpenBSD: asn1_lib.c,v 1.38 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -140,7 +140,7 @@ ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
140 goto err; 140 goto err;
141 141
142 if (*plength > (omax - (p - *pp))) { 142 if (*plength > (omax - (p - *pp))) {
143 ASN1err(ASN1_F_ASN1_GET_OBJECT, ASN1_R_TOO_LONG); 143 ASN1error(ASN1_R_TOO_LONG);
144 /* Set this so that even if things are not long enough 144 /* Set this so that even if things are not long enough
145 * the values are set correctly */ 145 * the values are set correctly */
146 ret |= 0x80; 146 ret |= 0x80;
@@ -149,7 +149,7 @@ ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
149 return (ret | inf); 149 return (ret | inf);
150 150
151err: 151err:
152 ASN1err(ASN1_F_ASN1_GET_OBJECT, ASN1_R_HEADER_TOO_LONG); 152 ASN1error(ASN1_R_HEADER_TOO_LONG);
153 return (0x80); 153 return (0x80);
154} 154}
155 155
@@ -385,7 +385,7 @@ ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len)
385 unsigned char *tmp; 385 unsigned char *tmp;
386 tmp = realloc(str->data, len + 1); 386 tmp = realloc(str->data, len + 1);
387 if (tmp == NULL) { 387 if (tmp == NULL) {
388 ASN1err(ASN1_F_ASN1_STRING_SET, ERR_R_MALLOC_FAILURE); 388 ASN1error(ERR_R_MALLOC_FAILURE);
389 return (0); 389 return (0);
390 } 390 }
391 str->data = tmp; 391 str->data = tmp;
@@ -421,7 +421,7 @@ ASN1_STRING_type_new(int type)
421 421
422 ret = malloc(sizeof(ASN1_STRING)); 422 ret = malloc(sizeof(ASN1_STRING));
423 if (ret == NULL) { 423 if (ret == NULL) {
424 ASN1err(ASN1_F_ASN1_STRING_TYPE_NEW, ERR_R_MALLOC_FAILURE); 424 ASN1error(ERR_R_MALLOC_FAILURE);
425 return (NULL); 425 return (NULL);
426 } 426 }
427 ret->length = 0; 427 ret->length = 0;
diff --git a/src/lib/libcrypto/asn1/asn_mime.c b/src/lib/libcrypto/asn1/asn_mime.c
index 1d82f1a76f..6bad111775 100644
--- a/src/lib/libcrypto/asn1/asn_mime.c
+++ b/src/lib/libcrypto/asn1/asn_mime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_mime.c,v 1.26 2015/02/22 15:19:56 jsing Exp $ */ 1/* $OpenBSD: asn_mime.c,v 1.27 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -122,8 +122,7 @@ i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags,
122 BIO *bio, *tbio; 122 BIO *bio, *tbio;
123 bio = BIO_new_NDEF(out, val, it); 123 bio = BIO_new_NDEF(out, val, it);
124 if (!bio) { 124 if (!bio) {
125 ASN1err(ASN1_F_I2D_ASN1_BIO_STREAM, 125 ASN1error(ERR_R_MALLOC_FAILURE);
126 ERR_R_MALLOC_FAILURE);
127 return 0; 126 return 0;
128 } 127 }
129 SMIME_crlf_copy(in, bio, flags); 128 SMIME_crlf_copy(in, bio, flags);
@@ -154,7 +153,7 @@ B64_write_ASN1(BIO *out, ASN1_VALUE *val, BIO *in, int flags,
154 153
155 b64 = BIO_new(BIO_f_base64()); 154 b64 = BIO_new(BIO_f_base64());
156 if (!b64) { 155 if (!b64) {
157 ASN1err(ASN1_F_B64_WRITE_ASN1, ERR_R_MALLOC_FAILURE); 156 ASN1error(ERR_R_MALLOC_FAILURE);
158 return 0; 157 return 0;
159 } 158 }
160 /* prepend the b64 BIO so all data is base64 encoded. 159 /* prepend the b64 BIO so all data is base64 encoded.
@@ -187,13 +186,13 @@ b64_read_asn1(BIO *bio, const ASN1_ITEM *it)
187 BIO *b64; 186 BIO *b64;
188 ASN1_VALUE *val; 187 ASN1_VALUE *val;
189 if (!(b64 = BIO_new(BIO_f_base64()))) { 188 if (!(b64 = BIO_new(BIO_f_base64()))) {
190 ASN1err(ASN1_F_B64_READ_ASN1, ERR_R_MALLOC_FAILURE); 189 ASN1error(ERR_R_MALLOC_FAILURE);
191 return 0; 190 return 0;
192 } 191 }
193 bio = BIO_push(b64, bio); 192 bio = BIO_push(b64, bio);
194 val = ASN1_item_d2i_bio(it, bio, NULL); 193 val = ASN1_item_d2i_bio(it, bio, NULL);
195 if (!val) 194 if (!val)
196 ASN1err(ASN1_F_B64_READ_ASN1, ASN1_R_DECODE_ERROR); 195 ASN1error(ASN1_R_DECODE_ERROR);
197 (void)BIO_flush(bio); 196 (void)BIO_flush(bio);
198 bio = BIO_pop(bio); 197 bio = BIO_pop(bio);
199 BIO_free(b64); 198 BIO_free(b64);
@@ -388,8 +387,7 @@ asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
388 } 387 }
389 388
390 if (!aux || !aux->asn1_cb) { 389 if (!aux || !aux->asn1_cb) {
391 ASN1err(ASN1_F_ASN1_OUTPUT_DATA, 390 ASN1error(ASN1_R_STREAMING_NOT_SUPPORTED);
392 ASN1_R_STREAMING_NOT_SUPPORTED);
393 return 0; 391 return 0;
394 } 392 }
395 393
@@ -440,13 +438,13 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
440 *bcont = NULL; 438 *bcont = NULL;
441 439
442 if (!(headers = mime_parse_hdr(bio))) { 440 if (!(headers = mime_parse_hdr(bio))) {
443 ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_MIME_PARSE_ERROR); 441 ASN1error(ASN1_R_MIME_PARSE_ERROR);
444 return NULL; 442 return NULL;
445 } 443 }
446 444
447 if (!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) { 445 if (!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) {
448 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 446 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
449 ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_NO_CONTENT_TYPE); 447 ASN1error(ASN1_R_NO_CONTENT_TYPE);
450 return NULL; 448 return NULL;
451 } 449 }
452 450
@@ -457,15 +455,13 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
457 prm = mime_param_find(hdr, "boundary"); 455 prm = mime_param_find(hdr, "boundary");
458 if (!prm || !prm->param_value) { 456 if (!prm || !prm->param_value) {
459 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 457 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
460 ASN1err(ASN1_F_SMIME_READ_ASN1, 458 ASN1error(ASN1_R_NO_MULTIPART_BOUNDARY);
461 ASN1_R_NO_MULTIPART_BOUNDARY);
462 return NULL; 459 return NULL;
463 } 460 }
464 ret = multi_split(bio, prm->param_value, &parts); 461 ret = multi_split(bio, prm->param_value, &parts);
465 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 462 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
466 if (!ret || (sk_BIO_num(parts) != 2) ) { 463 if (!ret || (sk_BIO_num(parts) != 2) ) {
467 ASN1err(ASN1_F_SMIME_READ_ASN1, 464 ASN1error(ASN1_R_NO_MULTIPART_BODY_FAILURE);
468 ASN1_R_NO_MULTIPART_BODY_FAILURE);
469 sk_BIO_pop_free(parts, BIO_vfree); 465 sk_BIO_pop_free(parts, BIO_vfree);
470 return NULL; 466 return NULL;
471 } 467 }
@@ -474,8 +470,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
474 asnin = sk_BIO_value(parts, 1); 470 asnin = sk_BIO_value(parts, 1);
475 471
476 if (!(headers = mime_parse_hdr(asnin))) { 472 if (!(headers = mime_parse_hdr(asnin))) {
477 ASN1err(ASN1_F_SMIME_READ_ASN1, 473 ASN1error(ASN1_R_MIME_SIG_PARSE_ERROR);
478 ASN1_R_MIME_SIG_PARSE_ERROR);
479 sk_BIO_pop_free(parts, BIO_vfree); 474 sk_BIO_pop_free(parts, BIO_vfree);
480 return NULL; 475 return NULL;
481 } 476 }
@@ -486,15 +481,13 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
486 !hdr->value) { 481 !hdr->value) {
487 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 482 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
488 sk_BIO_pop_free(parts, BIO_vfree); 483 sk_BIO_pop_free(parts, BIO_vfree);
489 ASN1err(ASN1_F_SMIME_READ_ASN1, 484 ASN1error(ASN1_R_NO_SIG_CONTENT_TYPE);
490 ASN1_R_NO_SIG_CONTENT_TYPE);
491 return NULL; 485 return NULL;
492 } 486 }
493 487
494 if (strcmp(hdr->value, "application/x-pkcs7-signature") && 488 if (strcmp(hdr->value, "application/x-pkcs7-signature") &&
495 strcmp(hdr->value, "application/pkcs7-signature")) { 489 strcmp(hdr->value, "application/pkcs7-signature")) {
496 ASN1err(ASN1_F_SMIME_READ_ASN1, 490 ASN1error(ASN1_R_SIG_INVALID_MIME_TYPE);
497 ASN1_R_SIG_INVALID_MIME_TYPE);
498 ERR_asprintf_error_data("type: %s", hdr->value); 491 ERR_asprintf_error_data("type: %s", hdr->value);
499 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 492 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
500 sk_BIO_pop_free(parts, BIO_vfree); 493 sk_BIO_pop_free(parts, BIO_vfree);
@@ -503,8 +496,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
503 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 496 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
504 /* Read in ASN1 */ 497 /* Read in ASN1 */
505 if (!(val = b64_read_asn1(asnin, it))) { 498 if (!(val = b64_read_asn1(asnin, it))) {
506 ASN1err(ASN1_F_SMIME_READ_ASN1, 499 ASN1error(ASN1_R_ASN1_SIG_PARSE_ERROR);
507 ASN1_R_ASN1_SIG_PARSE_ERROR);
508 sk_BIO_pop_free(parts, BIO_vfree); 500 sk_BIO_pop_free(parts, BIO_vfree);
509 return NULL; 501 return NULL;
510 } 502 }
@@ -521,7 +513,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
521 513
522 if (strcmp (hdr->value, "application/x-pkcs7-mime") && 514 if (strcmp (hdr->value, "application/x-pkcs7-mime") &&
523 strcmp (hdr->value, "application/pkcs7-mime")) { 515 strcmp (hdr->value, "application/pkcs7-mime")) {
524 ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_INVALID_MIME_TYPE); 516 ASN1error(ASN1_R_INVALID_MIME_TYPE);
525 ERR_asprintf_error_data("type: %s", hdr->value); 517 ERR_asprintf_error_data("type: %s", hdr->value);
526 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 518 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
527 return NULL; 519 return NULL;
@@ -530,7 +522,7 @@ SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
530 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 522 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
531 523
532 if (!(val = b64_read_asn1(bio, it))) { 524 if (!(val = b64_read_asn1(bio, it))) {
533 ASN1err(ASN1_F_SMIME_READ_ASN1, ASN1_R_ASN1_PARSE_ERROR); 525 ASN1error(ASN1_R_ASN1_PARSE_ERROR);
534 return NULL; 526 return NULL;
535 } 527 }
536 return val; 528 return val;
@@ -583,16 +575,16 @@ SMIME_text(BIO *in, BIO *out)
583 MIME_HEADER *hdr; 575 MIME_HEADER *hdr;
584 576
585 if (!(headers = mime_parse_hdr(in))) { 577 if (!(headers = mime_parse_hdr(in))) {
586 ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_MIME_PARSE_ERROR); 578 ASN1error(ASN1_R_MIME_PARSE_ERROR);
587 return 0; 579 return 0;
588 } 580 }
589 if (!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) { 581 if (!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) {
590 ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_MIME_NO_CONTENT_TYPE); 582 ASN1error(ASN1_R_MIME_NO_CONTENT_TYPE);
591 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 583 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
592 return 0; 584 return 0;
593 } 585 }
594 if (strcmp (hdr->value, "text/plain")) { 586 if (strcmp (hdr->value, "text/plain")) {
595 ASN1err(ASN1_F_SMIME_TEXT, ASN1_R_INVALID_MIME_TYPE); 587 ASN1error(ASN1_R_INVALID_MIME_TYPE);
596 ERR_asprintf_error_data("type: %s", hdr->value); 588 ERR_asprintf_error_data("type: %s", hdr->value);
597 sk_MIME_HEADER_pop_free(headers, mime_hdr_free); 589 sk_MIME_HEADER_pop_free(headers, mime_hdr_free);
598 return 0; 590 return 0;
diff --git a/src/lib/libcrypto/asn1/asn_moid.c b/src/lib/libcrypto/asn1/asn_moid.c
index 76b6405212..7bf493e288 100644
--- a/src/lib/libcrypto/asn1/asn_moid.c
+++ b/src/lib/libcrypto/asn1/asn_moid.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_moid.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn_moid.c,v 1.13 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL 2/* Written by Stephen Henson (steve@openssl.org) for the OpenSSL
3 * project 2001. 3 * project 2001.
4 */ 4 */
@@ -79,13 +79,13 @@ oid_module_init(CONF_IMODULE *md, const CONF *cnf)
79 79
80 oid_section = CONF_imodule_get_value(md); 80 oid_section = CONF_imodule_get_value(md);
81 if (!(sktmp = NCONF_get_section(cnf, oid_section))) { 81 if (!(sktmp = NCONF_get_section(cnf, oid_section))) {
82 ASN1err(ASN1_F_OID_MODULE_INIT, ASN1_R_ERROR_LOADING_SECTION); 82 ASN1error(ASN1_R_ERROR_LOADING_SECTION);
83 return 0; 83 return 0;
84 } 84 }
85 for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) { 85 for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) {
86 oval = sk_CONF_VALUE_value(sktmp, i); 86 oval = sk_CONF_VALUE_value(sktmp, i);
87 if (!do_create(oval->value, oval->name)) { 87 if (!do_create(oval->value, oval->name)) {
88 ASN1err(ASN1_F_OID_MODULE_INIT, ASN1_R_ADDING_OBJECT); 88 ASN1error(ASN1_R_ADDING_OBJECT);
89 return 0; 89 return 0;
90 } 90 }
91 } 91 }
diff --git a/src/lib/libcrypto/asn1/asn_pack.c b/src/lib/libcrypto/asn1/asn_pack.c
index 65f4b9bf97..09d150583a 100644
--- a/src/lib/libcrypto/asn1/asn_pack.c
+++ b/src/lib/libcrypto/asn1/asn_pack.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_pack.c,v 1.15 2015/12/23 20:37:23 mmcc Exp $ */ 1/* $OpenBSD: asn_pack.c,v 1.16 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -77,7 +77,7 @@ ASN1_seq_unpack(const unsigned char *buf, int len, d2i_of_void *d2i,
77 pbuf = buf; 77 pbuf = buf;
78 if (!(sk = d2i_ASN1_SET(NULL, &pbuf, len, d2i, free_func, 78 if (!(sk = d2i_ASN1_SET(NULL, &pbuf, len, d2i, free_func,
79 V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL))) 79 V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL)))
80 ASN1err(ASN1_F_ASN1_SEQ_UNPACK,ASN1_R_DECODE_ERROR); 80 ASN1error(ASN1_R_DECODE_ERROR);
81 return sk; 81 return sk;
82} 82}
83 83
@@ -94,11 +94,11 @@ ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d,
94 94
95 if (!(safelen = i2d_ASN1_SET(safes, NULL, i2d, V_ASN1_SEQUENCE, 95 if (!(safelen = i2d_ASN1_SET(safes, NULL, i2d, V_ASN1_SEQUENCE,
96 V_ASN1_UNIVERSAL, IS_SEQUENCE))) { 96 V_ASN1_UNIVERSAL, IS_SEQUENCE))) {
97 ASN1err(ASN1_F_ASN1_SEQ_PACK,ASN1_R_ENCODE_ERROR); 97 ASN1error(ASN1_R_ENCODE_ERROR);
98 return NULL; 98 return NULL;
99 } 99 }
100 if (!(safe = malloc(safelen))) { 100 if (!(safe = malloc(safelen))) {
101 ASN1err(ASN1_F_ASN1_SEQ_PACK,ERR_R_MALLOC_FAILURE); 101 ASN1error(ERR_R_MALLOC_FAILURE);
102 return NULL; 102 return NULL;
103 } 103 }
104 p = safe; 104 p = safe;
@@ -121,7 +121,7 @@ ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i)
121 121
122 p = oct->data; 122 p = oct->data;
123 if (!(ret = d2i(NULL, &p, oct->length))) 123 if (!(ret = d2i(NULL, &p, oct->length)))
124 ASN1err(ASN1_F_ASN1_UNPACK_STRING,ASN1_R_DECODE_ERROR); 124 ASN1error(ASN1_R_DECODE_ERROR);
125 return ret; 125 return ret;
126} 126}
127 127
@@ -135,18 +135,18 @@ ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct)
135 135
136 if (!oct || !*oct) { 136 if (!oct || !*oct) {
137 if (!(octmp = ASN1_STRING_new())) { 137 if (!(octmp = ASN1_STRING_new())) {
138 ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); 138 ASN1error(ERR_R_MALLOC_FAILURE);
139 return NULL; 139 return NULL;
140 } 140 }
141 } else 141 } else
142 octmp = *oct; 142 octmp = *oct;
143 143
144 if (!(octmp->length = i2d(obj, NULL))) { 144 if (!(octmp->length = i2d(obj, NULL))) {
145 ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR); 145 ASN1error(ASN1_R_ENCODE_ERROR);
146 goto err; 146 goto err;
147 } 147 }
148 if (!(p = malloc (octmp->length))) { 148 if (!(p = malloc (octmp->length))) {
149 ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); 149 ASN1error(ERR_R_MALLOC_FAILURE);
150 goto err; 150 goto err;
151 } 151 }
152 octmp->data = p; 152 octmp->data = p;
@@ -174,7 +174,7 @@ ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **oct)
174 174
175 if (!oct || !*oct) { 175 if (!oct || !*oct) {
176 if (!(octmp = ASN1_STRING_new ())) { 176 if (!(octmp = ASN1_STRING_new ())) {
177 ASN1err(ASN1_F_ASN1_ITEM_PACK, ERR_R_MALLOC_FAILURE); 177 ASN1error(ERR_R_MALLOC_FAILURE);
178 return NULL; 178 return NULL;
179 } 179 }
180 } else 180 } else
@@ -184,11 +184,11 @@ ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **oct)
184 octmp->data = NULL; 184 octmp->data = NULL;
185 185
186 if (!(octmp->length = ASN1_item_i2d(obj, &octmp->data, it))) { 186 if (!(octmp->length = ASN1_item_i2d(obj, &octmp->data, it))) {
187 ASN1err(ASN1_F_ASN1_ITEM_PACK, ASN1_R_ENCODE_ERROR); 187 ASN1error(ASN1_R_ENCODE_ERROR);
188 goto err; 188 goto err;
189 } 189 }
190 if (!octmp->data) { 190 if (!octmp->data) {
191 ASN1err(ASN1_F_ASN1_ITEM_PACK, ERR_R_MALLOC_FAILURE); 191 ASN1error(ERR_R_MALLOC_FAILURE);
192 goto err; 192 goto err;
193 } 193 }
194 if (oct) 194 if (oct)
@@ -210,6 +210,6 @@ ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it)
210 210
211 p = oct->data; 211 p = oct->data;
212 if (!(ret = ASN1_item_d2i(NULL, &p, oct->length, it))) 212 if (!(ret = ASN1_item_d2i(NULL, &p, oct->length, it)))
213 ASN1err(ASN1_F_ASN1_ITEM_UNPACK, ASN1_R_DECODE_ERROR); 213 ASN1error(ASN1_R_DECODE_ERROR);
214 return ret; 214 return ret;
215} 215}
diff --git a/src/lib/libcrypto/asn1/bio_ndef.c b/src/lib/libcrypto/asn1/bio_ndef.c
index 1a23c27d04..890b141304 100644
--- a/src/lib/libcrypto/asn1/bio_ndef.c
+++ b/src/lib/libcrypto/asn1/bio_ndef.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bio_ndef.c,v 1.9 2014/07/25 06:05:32 doug Exp $ */ 1/* $OpenBSD: bio_ndef.c,v 1.10 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -106,7 +106,7 @@ BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it)
106 ASN1_STREAM_ARG sarg; 106 ASN1_STREAM_ARG sarg;
107 107
108 if (!aux || !aux->asn1_cb) { 108 if (!aux || !aux->asn1_cb) {
109 ASN1err(ASN1_F_BIO_NEW_NDEF, ASN1_R_STREAMING_NOT_SUPPORTED); 109 ASN1error(ASN1_R_STREAMING_NOT_SUPPORTED);
110 return NULL; 110 return NULL;
111 } 111 }
112 ndef_aux = malloc(sizeof(NDEF_SUPPORT)); 112 ndef_aux = malloc(sizeof(NDEF_SUPPORT));
diff --git a/src/lib/libcrypto/asn1/d2i_pr.c b/src/lib/libcrypto/asn1/d2i_pr.c
index 68d02177c4..7a5880a8cd 100644
--- a/src/lib/libcrypto/asn1/d2i_pr.c
+++ b/src/lib/libcrypto/asn1/d2i_pr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d2i_pr.c,v 1.14 2015/03/19 14:00:22 tedu Exp $ */ 1/* $OpenBSD: d2i_pr.c,v 1.15 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -80,7 +80,7 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
80 80
81 if ((a == NULL) || (*a == NULL)) { 81 if ((a == NULL) || (*a == NULL)) {
82 if ((ret = EVP_PKEY_new()) == NULL) { 82 if ((ret = EVP_PKEY_new()) == NULL) {
83 ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_EVP_LIB); 83 ASN1error(ERR_R_EVP_LIB);
84 return (NULL); 84 return (NULL);
85 } 85 }
86 } else { 86 } else {
@@ -94,7 +94,7 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
94 } 94 }
95 95
96 if (!EVP_PKEY_set_type(ret, type)) { 96 if (!EVP_PKEY_set_type(ret, type)) {
97 ASN1err(ASN1_F_D2I_PRIVATEKEY, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); 97 ASN1error(ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE);
98 goto err; 98 goto err;
99 } 99 }
100 100
@@ -109,7 +109,7 @@ d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
109 ret = EVP_PKCS82PKEY(p8); 109 ret = EVP_PKCS82PKEY(p8);
110 PKCS8_PRIV_KEY_INFO_free(p8); 110 PKCS8_PRIV_KEY_INFO_free(p8);
111 } else { 111 } else {
112 ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_ASN1_LIB); 112 ASN1error(ERR_R_ASN1_LIB);
113 goto err; 113 goto err;
114 } 114 }
115 } 115 }
@@ -153,8 +153,7 @@ d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length)
153 153
154 sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); 154 sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free);
155 if (!p8) { 155 if (!p8) {
156 ASN1err(ASN1_F_D2I_AUTOPRIVATEKEY, 156 ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
157 ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
158 return NULL; 157 return NULL;
159 } 158 }
160 ret = EVP_PKCS82PKEY(p8); 159 ret = EVP_PKCS82PKEY(p8);
diff --git a/src/lib/libcrypto/asn1/d2i_pu.c b/src/lib/libcrypto/asn1/d2i_pu.c
index e917356254..3750265e7f 100644
--- a/src/lib/libcrypto/asn1/d2i_pu.c
+++ b/src/lib/libcrypto/asn1/d2i_pu.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d2i_pu.c,v 1.13 2015/03/19 14:00:22 tedu Exp $ */ 1/* $OpenBSD: d2i_pu.c,v 1.14 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -83,14 +83,14 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
83 83
84 if ((a == NULL) || (*a == NULL)) { 84 if ((a == NULL) || (*a == NULL)) {
85 if ((ret = EVP_PKEY_new()) == NULL) { 85 if ((ret = EVP_PKEY_new()) == NULL) {
86 ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_EVP_LIB); 86 ASN1error(ERR_R_EVP_LIB);
87 return (NULL); 87 return (NULL);
88 } 88 }
89 } else 89 } else
90 ret = *a; 90 ret = *a;
91 91
92 if (!EVP_PKEY_set_type(ret, type)) { 92 if (!EVP_PKEY_set_type(ret, type)) {
93 ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_EVP_LIB); 93 ASN1error(ERR_R_EVP_LIB);
94 goto err; 94 goto err;
95 } 95 }
96 96
@@ -99,7 +99,7 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
99 case EVP_PKEY_RSA: 99 case EVP_PKEY_RSA:
100 if ((ret->pkey.rsa = d2i_RSAPublicKey(NULL, pp, length)) == 100 if ((ret->pkey.rsa = d2i_RSAPublicKey(NULL, pp, length)) ==
101 NULL) { 101 NULL) {
102 ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); 102 ASN1error(ERR_R_ASN1_LIB);
103 goto err; 103 goto err;
104 } 104 }
105 break; 105 break;
@@ -107,7 +107,7 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
107#ifndef OPENSSL_NO_DSA 107#ifndef OPENSSL_NO_DSA
108 case EVP_PKEY_DSA: 108 case EVP_PKEY_DSA:
109 if (!d2i_DSAPublicKey(&(ret->pkey.dsa), pp, length)) { 109 if (!d2i_DSAPublicKey(&(ret->pkey.dsa), pp, length)) {
110 ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); 110 ASN1error(ERR_R_ASN1_LIB);
111 goto err; 111 goto err;
112 } 112 }
113 break; 113 break;
@@ -115,13 +115,13 @@ d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length)
115#ifndef OPENSSL_NO_EC 115#ifndef OPENSSL_NO_EC
116 case EVP_PKEY_EC: 116 case EVP_PKEY_EC:
117 if (!o2i_ECPublicKey(&(ret->pkey.ec), pp, length)) { 117 if (!o2i_ECPublicKey(&(ret->pkey.ec), pp, length)) {
118 ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); 118 ASN1error(ERR_R_ASN1_LIB);
119 goto err; 119 goto err;
120 } 120 }
121 break; 121 break;
122#endif 122#endif
123 default: 123 default:
124 ASN1err(ASN1_F_D2I_PUBLICKEY, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); 124 ASN1error(ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE);
125 goto err; 125 goto err;
126 /* break; */ 126 /* break; */
127 } 127 }
diff --git a/src/lib/libcrypto/asn1/evp_asn1.c b/src/lib/libcrypto/asn1/evp_asn1.c
index 1f36cebad7..83228bb5d2 100644
--- a/src/lib/libcrypto/asn1/evp_asn1.c
+++ b/src/lib/libcrypto/asn1/evp_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_asn1.c,v 1.18 2015/09/30 19:07:08 jsing Exp $ */ 1/* $OpenBSD: evp_asn1.c,v 1.19 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -87,7 +87,7 @@ ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, int max_len)
87 87
88 if ((a->type != V_ASN1_OCTET_STRING) || 88 if ((a->type != V_ASN1_OCTET_STRING) ||
89 (a->value.octet_string == NULL)) { 89 (a->value.octet_string == NULL)) {
90 ASN1err(ASN1_F_ASN1_TYPE_GET_OCTETSTRING, ASN1_R_DATA_IS_WRONG); 90 ASN1error(ASN1_R_DATA_IS_WRONG);
91 return (-1); 91 return (-1);
92 } 92 }
93 p = ASN1_STRING_data(a->value.octet_string); 93 p = ASN1_STRING_data(a->value.octet_string);
@@ -192,8 +192,7 @@ ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data,
192 memcpy(data, ASN1_STRING_data(os), n); 192 memcpy(data, ASN1_STRING_data(os), n);
193 if (0) { 193 if (0) {
194err: 194err:
195 ASN1err(ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING, 195 ASN1error(ASN1_R_DATA_IS_WRONG);
196 ASN1_R_DATA_IS_WRONG);
197 } 196 }
198 ASN1_OCTET_STRING_free(os); 197 ASN1_OCTET_STRING_free(os);
199 ASN1_INTEGER_free(ai); 198 ASN1_INTEGER_free(ai);
diff --git a/src/lib/libcrypto/asn1/f_enum.c b/src/lib/libcrypto/asn1/f_enum.c
index 7f064edb04..64feb97dc4 100644
--- a/src/lib/libcrypto/asn1/f_enum.c
+++ b/src/lib/libcrypto/asn1/f_enum.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: f_enum.c,v 1.14 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: f_enum.c,v 1.15 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -150,16 +150,14 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
150 k = 0; 150 k = 0;
151 i -= again; 151 i -= again;
152 if (i % 2 != 0) { 152 if (i % 2 != 0) {
153 ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, 153 ASN1error(ASN1_R_ODD_NUMBER_OF_CHARS);
154 ASN1_R_ODD_NUMBER_OF_CHARS);
155 goto err; 154 goto err;
156 } 155 }
157 i /= 2; 156 i /= 2;
158 if (num + i > slen) { 157 if (num + i > slen) {
159 sp = realloc(s, num + i); 158 sp = realloc(s, num + i);
160 if (sp == NULL) { 159 if (sp == NULL) {
161 ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, 160 ASN1error(ERR_R_MALLOC_FAILURE);
162 ERR_R_MALLOC_FAILURE);
163 goto err; 161 goto err;
164 } 162 }
165 s = sp; 163 s = sp;
@@ -175,8 +173,7 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
175 else if ((m >= 'A') && (m <= 'F')) 173 else if ((m >= 'A') && (m <= 'F'))
176 m = m - 'A' + 10; 174 m = m - 'A' + 10;
177 else { 175 else {
178 ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, 176 ASN1error(ASN1_R_NON_HEX_CHARACTERS);
179 ASN1_R_NON_HEX_CHARACTERS);
180 goto err; 177 goto err;
181 } 178 }
182 s[num + j] <<= 4; 179 s[num + j] <<= 4;
@@ -194,7 +191,7 @@ a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
194 return (1); 191 return (1);
195 192
196err_sl: 193err_sl:
197 ASN1err(ASN1_F_A2I_ASN1_ENUMERATED, ASN1_R_SHORT_LINE); 194 ASN1error(ASN1_R_SHORT_LINE);
198err: 195err:
199 free(s); 196 free(s);
200 return (ret); 197 return (ret);
diff --git a/src/lib/libcrypto/asn1/f_int.c b/src/lib/libcrypto/asn1/f_int.c
index 0ec29f5769..75168872b3 100644
--- a/src/lib/libcrypto/asn1/f_int.c
+++ b/src/lib/libcrypto/asn1/f_int.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: f_int.c,v 1.17 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: f_int.c,v 1.18 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -153,16 +153,14 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
153 k = 0; 153 k = 0;
154 i -= again; 154 i -= again;
155 if (i % 2 != 0) { 155 if (i % 2 != 0) {
156 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 156 ASN1error(ASN1_R_ODD_NUMBER_OF_CHARS);
157 ASN1_R_ODD_NUMBER_OF_CHARS);
158 goto err; 157 goto err;
159 } 158 }
160 i /= 2; 159 i /= 2;
161 if (num + i > slen) { 160 if (num + i > slen) {
162 sp = OPENSSL_realloc_clean(s, slen, num + i); 161 sp = OPENSSL_realloc_clean(s, slen, num + i);
163 if (sp == NULL) { 162 if (sp == NULL) {
164 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 163 ASN1error(ERR_R_MALLOC_FAILURE);
165 ERR_R_MALLOC_FAILURE);
166 goto err; 164 goto err;
167 } 165 }
168 s = sp; 166 s = sp;
@@ -178,8 +176,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
178 else if ((m >= 'A') && (m <= 'F')) 176 else if ((m >= 'A') && (m <= 'F'))
179 m = m - 'A' + 10; 177 m = m - 'A' + 10;
180 else { 178 else {
181 ASN1err(ASN1_F_A2I_ASN1_INTEGER, 179 ASN1error(ASN1_R_NON_HEX_CHARACTERS);
182 ASN1_R_NON_HEX_CHARACTERS);
183 goto err; 180 goto err;
184 } 181 }
185 s[num + j] <<= 4; 182 s[num + j] <<= 4;
@@ -197,7 +194,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
197 return (1); 194 return (1);
198 195
199err_sl: 196err_sl:
200 ASN1err(ASN1_F_A2I_ASN1_INTEGER, ASN1_R_SHORT_LINE); 197 ASN1error(ASN1_R_SHORT_LINE);
201err: 198err:
202 free(s); 199 free(s);
203 return (ret); 200 return (ret);
diff --git a/src/lib/libcrypto/asn1/f_string.c b/src/lib/libcrypto/asn1/f_string.c
index 14cd1a906a..138044e063 100644
--- a/src/lib/libcrypto/asn1/f_string.c
+++ b/src/lib/libcrypto/asn1/f_string.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: f_string.c,v 1.16 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: f_string.c,v 1.17 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -146,16 +146,14 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
146 k = 0; 146 k = 0;
147 i -= again; 147 i -= again;
148 if (i % 2 != 0) { 148 if (i % 2 != 0) {
149 ASN1err(ASN1_F_A2I_ASN1_STRING, 149 ASN1error(ASN1_R_ODD_NUMBER_OF_CHARS);
150 ASN1_R_ODD_NUMBER_OF_CHARS);
151 goto err; 150 goto err;
152 } 151 }
153 i /= 2; 152 i /= 2;
154 if (num + i > slen) { 153 if (num + i > slen) {
155 sp = realloc(s, num + i); 154 sp = realloc(s, num + i);
156 if (sp == NULL) { 155 if (sp == NULL) {
157 ASN1err(ASN1_F_A2I_ASN1_STRING, 156 ASN1error(ERR_R_MALLOC_FAILURE);
158 ERR_R_MALLOC_FAILURE);
159 goto err; 157 goto err;
160 } 158 }
161 s = sp; 159 s = sp;
@@ -171,8 +169,7 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
171 else if ((m >= 'A') && (m <= 'F')) 169 else if ((m >= 'A') && (m <= 'F'))
172 m = m - 'A' + 10; 170 m = m - 'A' + 10;
173 else { 171 else {
174 ASN1err(ASN1_F_A2I_ASN1_STRING, 172 ASN1error(ASN1_R_NON_HEX_CHARACTERS);
175 ASN1_R_NON_HEX_CHARACTERS);
176 goto err; 173 goto err;
177 } 174 }
178 s[num + j] <<= 4; 175 s[num + j] <<= 4;
@@ -190,7 +187,7 @@ a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
190 return (1); 187 return (1);
191 188
192err_sl: 189err_sl:
193 ASN1err(ASN1_F_A2I_ASN1_STRING, ASN1_R_SHORT_LINE); 190 ASN1error(ASN1_R_SHORT_LINE);
194err: 191err:
195 free(s); 192 free(s);
196 return (ret); 193 return (ret);
diff --git a/src/lib/libcrypto/asn1/i2d_pr.c b/src/lib/libcrypto/asn1/i2d_pr.c
index 5fa34678b6..0b545aeb49 100644
--- a/src/lib/libcrypto/asn1/i2d_pr.c
+++ b/src/lib/libcrypto/asn1/i2d_pr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: i2d_pr.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: i2d_pr.c,v 1.11 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -76,6 +76,6 @@ i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp)
76 PKCS8_PRIV_KEY_INFO_free(p8); 76 PKCS8_PRIV_KEY_INFO_free(p8);
77 return ret; 77 return ret;
78 } 78 }
79 ASN1err(ASN1_F_I2D_PRIVATEKEY, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); 79 ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
80 return (-1); 80 return (-1);
81} 81}
diff --git a/src/lib/libcrypto/asn1/i2d_pu.c b/src/lib/libcrypto/asn1/i2d_pu.c
index 6e485ea325..9baa84967b 100644
--- a/src/lib/libcrypto/asn1/i2d_pu.c
+++ b/src/lib/libcrypto/asn1/i2d_pu.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: i2d_pu.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: i2d_pu.c,v 1.11 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -92,7 +92,7 @@ i2d_PublicKey(EVP_PKEY *a, unsigned char **pp)
92 return (i2o_ECPublicKey(a->pkey.ec, pp)); 92 return (i2o_ECPublicKey(a->pkey.ec, pp));
93#endif 93#endif
94 default: 94 default:
95 ASN1err(ASN1_F_I2D_PUBLICKEY, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); 95 ASN1error(ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE);
96 return (-1); 96 return (-1);
97 } 97 }
98} 98}
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c
index 1e73c82d09..d2fabf6e87 100644
--- a/src/lib/libcrypto/asn1/n_pkey.c
+++ b/src/lib/libcrypto/asn1/n_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: n_pkey.c,v 1.30 2015/10/16 15:15:39 jsing Exp $ */ 1/* $OpenBSD: n_pkey.c,v 1.31 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -260,7 +260,7 @@ i2d_RSA_NET(const RSA *a, unsigned char **pp,
260 260
261 /* Since its RC4 encrypted length is actual length */ 261 /* Since its RC4 encrypted length is actual length */
262 if ((zz = malloc(rsalen)) == NULL) { 262 if ((zz = malloc(rsalen)) == NULL) {
263 ASN1err(ASN1_F_I2D_RSA_NET, ERR_R_MALLOC_FAILURE); 263 ASN1error(ERR_R_MALLOC_FAILURE);
264 goto err; 264 goto err;
265 } 265 }
266 266
@@ -269,12 +269,12 @@ i2d_RSA_NET(const RSA *a, unsigned char **pp,
269 i2d_RSAPrivateKey(a, &zz); 269 i2d_RSAPrivateKey(a, &zz);
270 270
271 if ((zz = malloc(pkeylen)) == NULL) { 271 if ((zz = malloc(pkeylen)) == NULL) {
272 ASN1err(ASN1_F_I2D_RSA_NET, ERR_R_MALLOC_FAILURE); 272 ASN1error(ERR_R_MALLOC_FAILURE);
273 goto err; 273 goto err;
274 } 274 }
275 275
276 if (!ASN1_STRING_set(enckey->os, "private-key", -1)) { 276 if (!ASN1_STRING_set(enckey->os, "private-key", -1)) {
277 ASN1err(ASN1_F_I2D_RSA_NET, ERR_R_MALLOC_FAILURE); 277 ASN1error(ERR_R_MALLOC_FAILURE);
278 goto err; 278 goto err;
279 } 279 }
280 enckey->enckey->digest->data = zz; 280 enckey->enckey->digest->data = zz;
@@ -287,7 +287,7 @@ i2d_RSA_NET(const RSA *a, unsigned char **pp,
287 cb = EVP_read_pw_string; 287 cb = EVP_read_pw_string;
288 i = cb((char *)buf, sizeof(buf), "Enter Private Key password:", 1); 288 i = cb((char *)buf, sizeof(buf), "Enter Private Key password:", 1);
289 if (i != 0) { 289 if (i != 0) {
290 ASN1err(ASN1_F_I2D_RSA_NET, ASN1_R_BAD_PASSWORD_READ); 290 ASN1error(ASN1_R_BAD_PASSWORD_READ);
291 goto err; 291 goto err;
292 } 292 }
293 i = strlen((char *)buf); 293 i = strlen((char *)buf);
@@ -340,19 +340,18 @@ d2i_RSA_NET(RSA **a, const unsigned char **pp, long length,
340 340
341 enckey = d2i_NETSCAPE_ENCRYPTED_PKEY(NULL, &p, length); 341 enckey = d2i_NETSCAPE_ENCRYPTED_PKEY(NULL, &p, length);
342 if (!enckey) { 342 if (!enckey) {
343 ASN1err(ASN1_F_D2I_RSA_NET, ASN1_R_DECODING_ERROR); 343 ASN1error(ASN1_R_DECODING_ERROR);
344 return NULL; 344 return NULL;
345 } 345 }
346 346
347 /* XXX 11 == strlen("private-key") */ 347 /* XXX 11 == strlen("private-key") */
348 if (enckey->os->length != 11 || 348 if (enckey->os->length != 11 ||
349 memcmp("private-key", enckey->os->data, 11) != 0) { 349 memcmp("private-key", enckey->os->data, 11) != 0) {
350 ASN1err(ASN1_F_D2I_RSA_NET, ASN1_R_PRIVATE_KEY_HEADER_MISSING); 350 ASN1error(ASN1_R_PRIVATE_KEY_HEADER_MISSING);
351 goto err; 351 goto err;
352 } 352 }
353 if (OBJ_obj2nid(enckey->enckey->algor->algorithm) != NID_rc4) { 353 if (OBJ_obj2nid(enckey->enckey->algor->algorithm) != NID_rc4) {
354 ASN1err(ASN1_F_D2I_RSA_NET, 354 ASN1error(ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM);
355 ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM);
356 goto err; 355 goto err;
357 } 356 }
358 if (cb == NULL) 357 if (cb == NULL)
@@ -384,7 +383,7 @@ d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os,
384 383
385 i=cb((char *)buf, sizeof(buf), "Enter Private Key password:",0); 384 i=cb((char *)buf, sizeof(buf), "Enter Private Key password:",0);
386 if (i != 0) { 385 if (i != 0) {
387 ASN1err(ASN1_F_D2I_RSA_NET_2, ASN1_R_BAD_PASSWORD_READ); 386 ASN1error(ASN1_R_BAD_PASSWORD_READ);
388 goto err; 387 goto err;
389 } 388 }
390 389
@@ -411,15 +410,14 @@ d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os,
411 zz = os->data; 410 zz = os->data;
412 411
413 if ((pkey = d2i_NETSCAPE_PKEY(NULL, &zz, os->length)) == NULL) { 412 if ((pkey = d2i_NETSCAPE_PKEY(NULL, &zz, os->length)) == NULL) {
414 ASN1err(ASN1_F_D2I_RSA_NET_2, 413 ASN1error(ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY);
415 ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY);
416 goto err; 414 goto err;
417 } 415 }
418 416
419 zz = pkey->private_key->data; 417 zz = pkey->private_key->data;
420 if ((ret = d2i_RSAPrivateKey(a, &zz, 418 if ((ret = d2i_RSAPrivateKey(a, &zz,
421 pkey->private_key->length)) == NULL) { 419 pkey->private_key->length)) == NULL) {
422 ASN1err(ASN1_F_D2I_RSA_NET_2, ASN1_R_UNABLE_TO_DECODE_RSA_KEY); 420 ASN1error(ASN1_R_UNABLE_TO_DECODE_RSA_KEY);
423 goto err; 421 goto err;
424 } 422 }
425 423
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c
index e0609e02e9..8fd416a3e5 100644
--- a/src/lib/libcrypto/asn1/p5_pbe.c
+++ b/src/lib/libcrypto/asn1/p5_pbe.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p5_pbe.c,v 1.21 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: p5_pbe.c,v 1.22 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -127,19 +127,19 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
127 127
128 pbe = PBEPARAM_new(); 128 pbe = PBEPARAM_new();
129 if (!pbe) { 129 if (!pbe) {
130 ASN1err(ASN1_F_PKCS5_PBE_SET0_ALGOR, ERR_R_MALLOC_FAILURE); 130 ASN1error(ERR_R_MALLOC_FAILURE);
131 goto err; 131 goto err;
132 } 132 }
133 if (iter <= 0) 133 if (iter <= 0)
134 iter = PKCS5_DEFAULT_ITER; 134 iter = PKCS5_DEFAULT_ITER;
135 if (!ASN1_INTEGER_set(pbe->iter, iter)) { 135 if (!ASN1_INTEGER_set(pbe->iter, iter)) {
136 ASN1err(ASN1_F_PKCS5_PBE_SET0_ALGOR, ERR_R_MALLOC_FAILURE); 136 ASN1error(ERR_R_MALLOC_FAILURE);
137 goto err; 137 goto err;
138 } 138 }
139 if (!saltlen) 139 if (!saltlen)
140 saltlen = PKCS5_SALT_LEN; 140 saltlen = PKCS5_SALT_LEN;
141 if (!ASN1_STRING_set(pbe->salt, NULL, saltlen)) { 141 if (!ASN1_STRING_set(pbe->salt, NULL, saltlen)) {
142 ASN1err(ASN1_F_PKCS5_PBE_SET0_ALGOR, ERR_R_MALLOC_FAILURE); 142 ASN1error(ERR_R_MALLOC_FAILURE);
143 goto err; 143 goto err;
144 } 144 }
145 sstr = ASN1_STRING_data(pbe->salt); 145 sstr = ASN1_STRING_data(pbe->salt);
@@ -149,7 +149,7 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
149 arc4random_buf(sstr, saltlen); 149 arc4random_buf(sstr, saltlen);
150 150
151 if (!ASN1_item_pack(pbe, &PBEPARAM_it, &pbe_str)) { 151 if (!ASN1_item_pack(pbe, &PBEPARAM_it, &pbe_str)) {
152 ASN1err(ASN1_F_PKCS5_PBE_SET0_ALGOR, ERR_R_MALLOC_FAILURE); 152 ASN1error(ERR_R_MALLOC_FAILURE);
153 goto err; 153 goto err;
154 } 154 }
155 155
@@ -174,7 +174,7 @@ PKCS5_pbe_set(int alg, int iter, const unsigned char *salt, int saltlen)
174 X509_ALGOR *ret; 174 X509_ALGOR *ret;
175 ret = X509_ALGOR_new(); 175 ret = X509_ALGOR_new();
176 if (!ret) { 176 if (!ret) {
177 ASN1err(ASN1_F_PKCS5_PBE_SET, ERR_R_MALLOC_FAILURE); 177 ASN1error(ERR_R_MALLOC_FAILURE);
178 return NULL; 178 return NULL;
179 } 179 }
180 180
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c
index 155e2b0b3e..0105c59549 100644
--- a/src/lib/libcrypto/asn1/p5_pbev2.c
+++ b/src/lib/libcrypto/asn1/p5_pbev2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p5_pbev2.c,v 1.24 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: p5_pbev2.c,v 1.25 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999-2004. 3 * project 1999-2004.
4 */ 4 */
@@ -193,8 +193,7 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
193 193
194 alg_nid = EVP_CIPHER_type(cipher); 194 alg_nid = EVP_CIPHER_type(cipher);
195 if (alg_nid == NID_undef) { 195 if (alg_nid == NID_undef) {
196 ASN1err(ASN1_F_PKCS5_PBE2_SET_IV, 196 ASN1error(ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER);
197 ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER);
198 goto err; 197 goto err;
199 } 198 }
200 obj = OBJ_nid2obj(alg_nid); 199 obj = OBJ_nid2obj(alg_nid);
@@ -223,8 +222,7 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
223 if (!EVP_CipherInit_ex(&ctx, cipher, NULL, NULL, iv, 0)) 222 if (!EVP_CipherInit_ex(&ctx, cipher, NULL, NULL, iv, 0))
224 goto err; 223 goto err;
225 if (EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) { 224 if (EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) {
226 ASN1err(ASN1_F_PKCS5_PBE2_SET_IV, 225 ASN1error(ASN1_R_ERROR_SETTING_CIPHER_PARAMS);
227 ASN1_R_ERROR_SETTING_CIPHER_PARAMS);
228 EVP_CIPHER_CTX_cleanup(&ctx); 226 EVP_CIPHER_CTX_cleanup(&ctx);
229 goto err; 227 goto err;
230 } 228 }
@@ -275,7 +273,7 @@ PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, unsigned char *salt,
275 return ret; 273 return ret;
276 274
277merr: 275merr:
278 ASN1err(ASN1_F_PKCS5_PBE2_SET_IV, ERR_R_MALLOC_FAILURE); 276 ASN1error(ERR_R_MALLOC_FAILURE);
279 277
280err: 278err:
281 PBE2PARAM_free(pbe2); 279 PBE2PARAM_free(pbe2);
@@ -367,7 +365,7 @@ PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, int prf_nid,
367 return keyfunc; 365 return keyfunc;
368 366
369merr: 367merr:
370 ASN1err(ASN1_F_PKCS5_PBKDF2_SET, ERR_R_MALLOC_FAILURE); 368 ASN1error(ERR_R_MALLOC_FAILURE);
371 PBKDF2PARAM_free(kdf); 369 PBKDF2PARAM_free(kdf);
372 X509_ALGOR_free(keyfunc); 370 X509_ALGOR_free(keyfunc);
373 return NULL; 371 return NULL;
diff --git a/src/lib/libcrypto/asn1/t_crl.c b/src/lib/libcrypto/asn1/t_crl.c
index 67116361a5..c8122442bb 100644
--- a/src/lib/libcrypto/asn1/t_crl.c
+++ b/src/lib/libcrypto/asn1/t_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_crl.c,v 1.16 2014/07/12 16:33:25 miod Exp $ */ 1/* $OpenBSD: t_crl.c,v 1.17 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -72,7 +72,7 @@ X509_CRL_print_fp(FILE *fp, X509_CRL *x)
72 int ret; 72 int ret;
73 73
74 if ((b = BIO_new(BIO_s_file())) == NULL) { 74 if ((b = BIO_new(BIO_s_file())) == NULL) {
75 X509err(X509_F_X509_CRL_PRINT_FP, ERR_R_BUF_LIB); 75 X509error(ERR_R_BUF_LIB);
76 return (0); 76 return (0);
77 } 77 }
78 BIO_set_fp(b, fp, BIO_NOCLOSE); 78 BIO_set_fp(b, fp, BIO_NOCLOSE);
diff --git a/src/lib/libcrypto/asn1/t_req.c b/src/lib/libcrypto/asn1/t_req.c
index 8db456708a..a9b14fed73 100644
--- a/src/lib/libcrypto/asn1/t_req.c
+++ b/src/lib/libcrypto/asn1/t_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_req.c,v 1.18 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: t_req.c,v 1.19 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -81,7 +81,7 @@ X509_REQ_print_fp(FILE *fp, X509_REQ *x)
81 int ret; 81 int ret;
82 82
83 if ((b = BIO_new(BIO_s_file())) == NULL) { 83 if ((b = BIO_new(BIO_s_file())) == NULL) {
84 X509err(X509_F_X509_REQ_PRINT_FP, ERR_R_BUF_LIB); 84 X509error(ERR_R_BUF_LIB);
85 return (0); 85 return (0);
86 } 86 }
87 BIO_set_fp(b, fp, BIO_NOCLOSE); 87 BIO_set_fp(b, fp, BIO_NOCLOSE);
@@ -256,7 +256,7 @@ get_next:
256 return (1); 256 return (1);
257 257
258err: 258err:
259 X509err(X509_F_X509_REQ_PRINT_EX, ERR_R_BUF_LIB); 259 X509error(ERR_R_BUF_LIB);
260 return (0); 260 return (0);
261} 261}
262 262
diff --git a/src/lib/libcrypto/asn1/t_x509.c b/src/lib/libcrypto/asn1/t_x509.c
index 1c83fc5608..14cbabedc7 100644
--- a/src/lib/libcrypto/asn1/t_x509.c
+++ b/src/lib/libcrypto/asn1/t_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_x509.c,v 1.26 2015/02/07 13:19:15 doug Exp $ */ 1/* $OpenBSD: t_x509.c,v 1.27 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -92,7 +92,7 @@ X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag)
92 int ret; 92 int ret;
93 93
94 if ((b = BIO_new(BIO_s_file())) == NULL) { 94 if ((b = BIO_new(BIO_s_file())) == NULL) {
95 X509err(X509_F_X509_PRINT_EX_FP, ERR_R_BUF_LIB); 95 X509error(ERR_R_BUF_LIB);
96 return (0); 96 return (0);
97 } 97 }
98 BIO_set_fp(b, fp, BIO_NOCLOSE); 98 BIO_set_fp(b, fp, BIO_NOCLOSE);
@@ -530,7 +530,7 @@ X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
530 ret = 1; 530 ret = 1;
531 if (0) { 531 if (0) {
532err: 532err:
533 X509err(X509_F_X509_NAME_PRINT, ERR_R_BUF_LIB); 533 X509error(ERR_R_BUF_LIB);
534 } 534 }
535 free(b); 535 free(b);
536 return (ret); 536 return (ret);
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c
index de78164995..3f680c60fd 100644
--- a/src/lib/libcrypto/asn1/tasn_dec.c
+++ b/src/lib/libcrypto/asn1/tasn_dec.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_dec.c,v 1.33 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: tasn_dec.c,v 1.34 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -189,8 +189,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
189 * template itself. 189 * template itself.
190 */ 190 */
191 if ((tag != -1) || opt) { 191 if ((tag != -1) || opt) {
192 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 192 ASN1error(ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE);
193 ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE);
194 goto err; 193 goto err;
195 } 194 }
196 return asn1_template_ex_d2i(pval, in, len, 195 return asn1_template_ex_d2i(pval, in, len,
@@ -206,8 +205,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
206 ret = asn1_check_tlen(NULL, &otag, &oclass, NULL, NULL, 205 ret = asn1_check_tlen(NULL, &otag, &oclass, NULL, NULL,
207 &p, len, -1, 0, 1, ctx); 206 &p, len, -1, 0, 1, ctx);
208 if (!ret) { 207 if (!ret) {
209 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 208 ASN1error(ERR_R_NESTED_ASN1_ERROR);
210 ERR_R_NESTED_ASN1_ERROR);
211 goto err; 209 goto err;
212 } 210 }
213 211
@@ -216,8 +214,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
216 /* If OPTIONAL, assume this is OK */ 214 /* If OPTIONAL, assume this is OK */
217 if (opt) 215 if (opt)
218 return -1; 216 return -1;
219 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 217 ASN1error(ASN1_R_MSTRING_NOT_UNIVERSAL);
220 ASN1_R_MSTRING_NOT_UNIVERSAL);
221 goto err; 218 goto err;
222 } 219 }
223 /* Check tag matches bit map */ 220 /* Check tag matches bit map */
@@ -225,8 +222,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
225 /* If OPTIONAL, assume this is OK */ 222 /* If OPTIONAL, assume this is OK */
226 if (opt) 223 if (opt)
227 return -1; 224 return -1;
228 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 225 ASN1error(ASN1_R_MSTRING_WRONG_TAG);
229 ASN1_R_MSTRING_WRONG_TAG);
230 goto err; 226 goto err;
231 } 227 }
232 return asn1_d2i_ex_primitive(pval, in, len, 228 return asn1_d2i_ex_primitive(pval, in, len,
@@ -252,8 +248,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
252 asn1_set_choice_selector(pval, -1, it); 248 asn1_set_choice_selector(pval, -1, it);
253 } 249 }
254 } else if (!ASN1_item_ex_new(pval, it)) { 250 } else if (!ASN1_item_ex_new(pval, it)) {
255 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 251 ASN1error(ERR_R_NESTED_ASN1_ERROR);
256 ERR_R_NESTED_ASN1_ERROR);
257 goto err; 252 goto err;
258 } 253 }
259 /* CHOICE type, try each possibility in turn */ 254 /* CHOICE type, try each possibility in turn */
@@ -272,8 +267,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
272 break; 267 break;
273 /* Otherwise must be an ASN1 parsing error */ 268 /* Otherwise must be an ASN1 parsing error */
274 errtt = tt; 269 errtt = tt;
275 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 270 ASN1error(ERR_R_NESTED_ASN1_ERROR);
276 ERR_R_NESTED_ASN1_ERROR);
277 goto err; 271 goto err;
278 } 272 }
279 273
@@ -285,8 +279,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
285 ASN1_item_ex_free(pval, it); 279 ASN1_item_ex_free(pval, it);
286 return -1; 280 return -1;
287 } 281 }
288 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 282 ASN1error(ASN1_R_NO_MATCHING_CHOICE_TYPE);
289 ASN1_R_NO_MATCHING_CHOICE_TYPE);
290 goto err; 283 goto err;
291 } 284 }
292 285
@@ -310,8 +303,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
310 ret = asn1_check_tlen(&len, NULL, NULL, &seq_eoc, &cst, 303 ret = asn1_check_tlen(&len, NULL, NULL, &seq_eoc, &cst,
311 &p, len, tag, aclass, opt, ctx); 304 &p, len, tag, aclass, opt, ctx);
312 if (!ret) { 305 if (!ret) {
313 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 306 ASN1error(ERR_R_NESTED_ASN1_ERROR);
314 ERR_R_NESTED_ASN1_ERROR);
315 goto err; 307 goto err;
316 } else if (ret == -1) 308 } else if (ret == -1)
317 return -1; 309 return -1;
@@ -323,14 +315,12 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
323 else 315 else
324 seq_nolen = seq_eoc; 316 seq_nolen = seq_eoc;
325 if (!cst) { 317 if (!cst) {
326 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 318 ASN1error(ASN1_R_SEQUENCE_NOT_CONSTRUCTED);
327 ASN1_R_SEQUENCE_NOT_CONSTRUCTED);
328 goto err; 319 goto err;
329 } 320 }
330 321
331 if (!*pval && !ASN1_item_ex_new(pval, it)) { 322 if (!*pval && !ASN1_item_ex_new(pval, it)) {
332 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 323 ASN1error(ERR_R_NESTED_ASN1_ERROR);
333 ERR_R_NESTED_ASN1_ERROR);
334 goto err; 324 goto err;
335 } 325 }
336 326
@@ -364,8 +354,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
364 q = p; 354 q = p;
365 if (asn1_check_eoc(&p, len)) { 355 if (asn1_check_eoc(&p, len)) {
366 if (!seq_eoc) { 356 if (!seq_eoc) {
367 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 357 ASN1error(ASN1_R_UNEXPECTED_EOC);
368 ASN1_R_UNEXPECTED_EOC);
369 goto err; 358 goto err;
370 } 359 }
371 len -= p - q; 360 len -= p - q;
@@ -404,13 +393,12 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
404 393
405 /* Check for EOC if expecting one */ 394 /* Check for EOC if expecting one */
406 if (seq_eoc && !asn1_check_eoc(&p, len)) { 395 if (seq_eoc && !asn1_check_eoc(&p, len)) {
407 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ASN1_R_MISSING_EOC); 396 ASN1error(ASN1_R_MISSING_EOC);
408 goto err; 397 goto err;
409 } 398 }
410 /* Check all data read */ 399 /* Check all data read */
411 if (!seq_nolen && len) { 400 if (!seq_nolen && len) {
412 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 401 ASN1error(ASN1_R_SEQUENCE_LENGTH_MISMATCH);
413 ASN1_R_SEQUENCE_LENGTH_MISMATCH);
414 goto err; 402 goto err;
415 } 403 }
416 404
@@ -429,14 +417,13 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
429 ASN1_template_free(pseqval, seqtt); 417 ASN1_template_free(pseqval, seqtt);
430 } else { 418 } else {
431 errtt = seqtt; 419 errtt = seqtt;
432 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, 420 ASN1error(ASN1_R_FIELD_MISSING);
433 ASN1_R_FIELD_MISSING);
434 goto err; 421 goto err;
435 } 422 }
436 } 423 }
437 /* Save encoding */ 424 /* Save encoding */
438 if (!asn1_enc_save(pval, *in, p - *in, it)) { 425 if (!asn1_enc_save(pval, *in, p - *in, it)) {
439 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ERR_R_MALLOC_FAILURE); 426 ASN1error(ERR_R_MALLOC_FAILURE);
440 goto auxerr; 427 goto auxerr;
441 } 428 }
442 *in = p; 429 *in = p;
@@ -449,7 +436,7 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
449 } 436 }
450 437
451auxerr: 438auxerr:
452 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I, ASN1_R_AUX_ERROR); 439 ASN1error(ASN1_R_AUX_ERROR);
453err: 440err:
454 if (combine == 0) 441 if (combine == 0)
455 ASN1_item_ex_free(pval, it); 442 ASN1_item_ex_free(pval, it);
@@ -493,21 +480,18 @@ asn1_template_ex_d2i(ASN1_VALUE **val, const unsigned char **in, long inlen,
493 &p, inlen, tt->tag, aclass, opt, ctx); 480 &p, inlen, tt->tag, aclass, opt, ctx);
494 q = p; 481 q = p;
495 if (!ret) { 482 if (!ret) {
496 ASN1err(ASN1_F_ASN1_TEMPLATE_EX_D2I, 483 ASN1error(ERR_R_NESTED_ASN1_ERROR);
497 ERR_R_NESTED_ASN1_ERROR);
498 return 0; 484 return 0;
499 } else if (ret == -1) 485 } else if (ret == -1)
500 return -1; 486 return -1;
501 if (!cst) { 487 if (!cst) {
502 ASN1err(ASN1_F_ASN1_TEMPLATE_EX_D2I, 488 ASN1error(ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED);
503 ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED);
504 return 0; 489 return 0;
505 } 490 }
506 /* We've found the field so it can't be OPTIONAL now */ 491 /* We've found the field so it can't be OPTIONAL now */
507 ret = asn1_template_noexp_d2i(val, &p, len, tt, 0, ctx); 492 ret = asn1_template_noexp_d2i(val, &p, len, tt, 0, ctx);
508 if (!ret) { 493 if (!ret) {
509 ASN1err(ASN1_F_ASN1_TEMPLATE_EX_D2I, 494 ASN1error(ERR_R_NESTED_ASN1_ERROR);
510 ERR_R_NESTED_ASN1_ERROR);
511 return 0; 495 return 0;
512 } 496 }
513 /* We read the field in OK so update length */ 497 /* We read the field in OK so update length */
@@ -515,16 +499,14 @@ asn1_template_ex_d2i(ASN1_VALUE **val, const unsigned char **in, long inlen,
515 if (exp_eoc) { 499 if (exp_eoc) {
516 /* If NDEF we must have an EOC here */ 500 /* If NDEF we must have an EOC here */
517 if (!asn1_check_eoc(&p, len)) { 501 if (!asn1_check_eoc(&p, len)) {
518 ASN1err(ASN1_F_ASN1_TEMPLATE_EX_D2I, 502 ASN1error(ASN1_R_MISSING_EOC);
519 ASN1_R_MISSING_EOC);
520 goto err; 503 goto err;
521 } 504 }
522 } else { 505 } else {
523 /* Otherwise we must hit the EXPLICIT tag end or its 506 /* Otherwise we must hit the EXPLICIT tag end or its
524 * an error */ 507 * an error */
525 if (len) { 508 if (len) {
526 ASN1err(ASN1_F_ASN1_TEMPLATE_EX_D2I, 509 ASN1error(ASN1_R_EXPLICIT_LENGTH_MISMATCH);
527 ASN1_R_EXPLICIT_LENGTH_MISMATCH);
528 goto err; 510 goto err;
529 } 511 }
530 } 512 }
@@ -574,8 +556,7 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
574 ret = asn1_check_tlen(&len, NULL, NULL, &sk_eoc, NULL, 556 ret = asn1_check_tlen(&len, NULL, NULL, &sk_eoc, NULL,
575 &p, len, sktag, skaclass, opt, ctx); 557 &p, len, sktag, skaclass, opt, ctx);
576 if (!ret) { 558 if (!ret) {
577 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 559 ASN1error(ERR_R_NESTED_ASN1_ERROR);
578 ERR_R_NESTED_ASN1_ERROR);
579 return 0; 560 return 0;
580 } else if (ret == -1) 561 } else if (ret == -1)
581 return -1; 562 return -1;
@@ -594,8 +575,7 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
594 } 575 }
595 576
596 if (!*val) { 577 if (!*val) {
597 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 578 ASN1error(ERR_R_MALLOC_FAILURE);
598 ERR_R_MALLOC_FAILURE);
599 goto err; 579 goto err;
600 } 580 }
601 581
@@ -606,8 +586,7 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
606 /* See if EOC found */ 586 /* See if EOC found */
607 if (asn1_check_eoc(&p, len)) { 587 if (asn1_check_eoc(&p, len)) {
608 if (!sk_eoc) { 588 if (!sk_eoc) {
609 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 589 ASN1error(ASN1_R_UNEXPECTED_EOC);
610 ASN1_R_UNEXPECTED_EOC);
611 goto err; 590 goto err;
612 } 591 }
613 len -= p - q; 592 len -= p - q;
@@ -617,21 +596,18 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
617 skfield = NULL; 596 skfield = NULL;
618 if (!ASN1_item_ex_d2i(&skfield, &p, len, 597 if (!ASN1_item_ex_d2i(&skfield, &p, len,
619 tt->item, -1, 0, 0, ctx)) { 598 tt->item, -1, 0, 0, ctx)) {
620 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 599 ASN1error(ERR_R_NESTED_ASN1_ERROR);
621 ERR_R_NESTED_ASN1_ERROR);
622 goto err; 600 goto err;
623 } 601 }
624 len -= p - q; 602 len -= p - q;
625 if (!sk_ASN1_VALUE_push((STACK_OF(ASN1_VALUE) *)*val, 603 if (!sk_ASN1_VALUE_push((STACK_OF(ASN1_VALUE) *)*val,
626 skfield)) { 604 skfield)) {
627 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 605 ASN1error(ERR_R_MALLOC_FAILURE);
628 ERR_R_MALLOC_FAILURE);
629 goto err; 606 goto err;
630 } 607 }
631 } 608 }
632 if (sk_eoc) { 609 if (sk_eoc) {
633 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 610 ASN1error(ASN1_R_MISSING_EOC);
634 ASN1_R_MISSING_EOC);
635 goto err; 611 goto err;
636 } 612 }
637 } else if (flags & ASN1_TFLG_IMPTAG) { 613 } else if (flags & ASN1_TFLG_IMPTAG) {
@@ -639,8 +615,7 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
639 ret = ASN1_item_ex_d2i(val, &p, len, 615 ret = ASN1_item_ex_d2i(val, &p, len,
640 tt->item, tt->tag, aclass, opt, ctx); 616 tt->item, tt->tag, aclass, opt, ctx);
641 if (!ret) { 617 if (!ret) {
642 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 618 ASN1error(ERR_R_NESTED_ASN1_ERROR);
643 ERR_R_NESTED_ASN1_ERROR);
644 goto err; 619 goto err;
645 } else if (ret == -1) 620 } else if (ret == -1)
646 return -1; 621 return -1;
@@ -649,8 +624,7 @@ asn1_template_noexp_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
649 ret = ASN1_item_ex_d2i(val, &p, len, tt->item, 624 ret = ASN1_item_ex_d2i(val, &p, len, tt->item,
650 -1, tt->flags & ASN1_TFLG_COMBINE, opt, ctx); 625 -1, tt->flags & ASN1_TFLG_COMBINE, opt, ctx);
651 if (!ret) { 626 if (!ret) {
652 ASN1err(ASN1_F_ASN1_TEMPLATE_NOEXP_D2I, 627 ASN1error(ERR_R_NESTED_ASN1_ERROR);
653 ERR_R_NESTED_ASN1_ERROR);
654 goto err; 628 goto err;
655 } else if (ret == -1) 629 } else if (ret == -1)
656 return -1; 630 return -1;
@@ -681,7 +655,7 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
681 buf.data = NULL; 655 buf.data = NULL;
682 656
683 if (!pval) { 657 if (!pval) {
684 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ASN1_R_ILLEGAL_NULL); 658 ASN1error(ASN1_R_ILLEGAL_NULL);
685 return 0; /* Should never happen */ 659 return 0; /* Should never happen */
686 } 660 }
687 661
@@ -695,21 +669,18 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
695 /* If type is ANY need to figure out type from tag */ 669 /* If type is ANY need to figure out type from tag */
696 unsigned char oclass; 670 unsigned char oclass;
697 if (tag >= 0) { 671 if (tag >= 0) {
698 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, 672 ASN1error(ASN1_R_ILLEGAL_TAGGED_ANY);
699 ASN1_R_ILLEGAL_TAGGED_ANY);
700 return 0; 673 return 0;
701 } 674 }
702 if (opt) { 675 if (opt) {
703 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, 676 ASN1error(ASN1_R_ILLEGAL_OPTIONAL_ANY);
704 ASN1_R_ILLEGAL_OPTIONAL_ANY);
705 return 0; 677 return 0;
706 } 678 }
707 p = *in; 679 p = *in;
708 ret = asn1_check_tlen(NULL, &utype, &oclass, NULL, NULL, 680 ret = asn1_check_tlen(NULL, &utype, &oclass, NULL, NULL,
709 &p, inlen, -1, 0, 0, ctx); 681 &p, inlen, -1, 0, 0, ctx);
710 if (!ret) { 682 if (!ret) {
711 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, 683 ASN1error(ERR_R_NESTED_ASN1_ERROR);
712 ERR_R_NESTED_ASN1_ERROR);
713 return 0; 684 return 0;
714 } 685 }
715 if (oclass != V_ASN1_UNIVERSAL) 686 if (oclass != V_ASN1_UNIVERSAL)
@@ -724,7 +695,7 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
724 ret = asn1_check_tlen(&plen, NULL, NULL, &inf, &cst, 695 ret = asn1_check_tlen(&plen, NULL, NULL, &inf, &cst,
725 &p, inlen, tag, aclass, opt, ctx); 696 &p, inlen, tag, aclass, opt, ctx);
726 if (!ret) { 697 if (!ret) {
727 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ERR_R_NESTED_ASN1_ERROR); 698 ASN1error(ERR_R_NESTED_ASN1_ERROR);
728 return 0; 699 return 0;
729 } else if (ret == -1) 700 } else if (ret == -1)
730 return -1; 701 return -1;
@@ -740,8 +711,7 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
740 } 711 }
741 /* SEQUENCE and SET must be constructed */ 712 /* SEQUENCE and SET must be constructed */
742 else if (!cst) { 713 else if (!cst) {
743 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, 714 ASN1error(ASN1_R_TYPE_NOT_CONSTRUCTED);
744 ASN1_R_TYPE_NOT_CONSTRUCTED);
745 return 0; 715 return 0;
746 } 716 }
747 717
@@ -770,8 +740,7 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
770 len = buf.length; 740 len = buf.length;
771 /* Append a final null to string */ 741 /* Append a final null to string */
772 if (!BUF_MEM_grow_clean(&buf, len + 1)) { 742 if (!BUF_MEM_grow_clean(&buf, len + 1)) {
773 ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, 743 ASN1error(ERR_R_MALLOC_FAILURE);
774 ERR_R_MALLOC_FAILURE);
775 return 0; 744 return 0;
776 } 745 }
777 buf.data[len] = 0; 746 buf.data[len] = 0;
@@ -836,8 +805,7 @@ asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
836 805
837 case V_ASN1_NULL: 806 case V_ASN1_NULL:
838 if (len) { 807 if (len) {
839 ASN1err(ASN1_F_ASN1_EX_C2I, 808 ASN1error(ASN1_R_NULL_IS_WRONG_LENGTH);
840 ASN1_R_NULL_IS_WRONG_LENGTH);
841 goto err; 809 goto err;
842 } 810 }
843 *pval = (ASN1_VALUE *)1; 811 *pval = (ASN1_VALUE *)1;
@@ -845,8 +813,7 @@ asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
845 813
846 case V_ASN1_BOOLEAN: 814 case V_ASN1_BOOLEAN:
847 if (len != 1) { 815 if (len != 1) {
848 ASN1err(ASN1_F_ASN1_EX_C2I, 816 ASN1error(ASN1_R_BOOLEAN_IS_WRONG_LENGTH);
849 ASN1_R_BOOLEAN_IS_WRONG_LENGTH);
850 goto err; 817 goto err;
851 } else { 818 } else {
852 ASN1_BOOLEAN *tbool; 819 ASN1_BOOLEAN *tbool;
@@ -888,21 +855,18 @@ asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
888 case V_ASN1_SEQUENCE: 855 case V_ASN1_SEQUENCE:
889 default: 856 default:
890 if (utype == V_ASN1_BMPSTRING && (len & 1)) { 857 if (utype == V_ASN1_BMPSTRING && (len & 1)) {
891 ASN1err(ASN1_F_ASN1_EX_C2I, 858 ASN1error(ASN1_R_BMPSTRING_IS_WRONG_LENGTH);
892 ASN1_R_BMPSTRING_IS_WRONG_LENGTH);
893 goto err; 859 goto err;
894 } 860 }
895 if (utype == V_ASN1_UNIVERSALSTRING && (len & 3)) { 861 if (utype == V_ASN1_UNIVERSALSTRING && (len & 3)) {
896 ASN1err(ASN1_F_ASN1_EX_C2I, 862 ASN1error(ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH);
897 ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH);
898 goto err; 863 goto err;
899 } 864 }
900 /* All based on ASN1_STRING and handled the same */ 865 /* All based on ASN1_STRING and handled the same */
901 if (!*pval) { 866 if (!*pval) {
902 stmp = ASN1_STRING_type_new(utype); 867 stmp = ASN1_STRING_type_new(utype);
903 if (!stmp) { 868 if (!stmp) {
904 ASN1err(ASN1_F_ASN1_EX_C2I, 869 ASN1error(ERR_R_MALLOC_FAILURE);
905 ERR_R_MALLOC_FAILURE);
906 goto err; 870 goto err;
907 } 871 }
908 *pval = (ASN1_VALUE *)stmp; 872 *pval = (ASN1_VALUE *)stmp;
@@ -918,8 +882,7 @@ asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
918 *free_cont = 0; 882 *free_cont = 0;
919 } else { 883 } else {
920 if (!ASN1_STRING_set(stmp, cont, len)) { 884 if (!ASN1_STRING_set(stmp, cont, len)) {
921 ASN1err(ASN1_F_ASN1_EX_C2I, 885 ASN1error(ERR_R_MALLOC_FAILURE);
922 ERR_R_MALLOC_FAILURE);
923 ASN1_STRING_free(stmp); 886 ASN1_STRING_free(stmp);
924 *pval = NULL; 887 *pval = NULL;
925 goto err; 888 goto err;
@@ -979,7 +942,7 @@ asn1_find_end(const unsigned char **in, long len, char inf)
979 /* Just read in a header: only care about the length */ 942 /* Just read in a header: only care about the length */
980 if (!asn1_check_tlen(&plen, NULL, NULL, &inf, NULL, &p, len, 943 if (!asn1_check_tlen(&plen, NULL, NULL, &inf, NULL, &p, len,
981 -1, 0, 0, NULL)) { 944 -1, 0, 0, NULL)) {
982 ASN1err(ASN1_F_ASN1_FIND_END, ERR_R_NESTED_ASN1_ERROR); 945 ASN1error(ERR_R_NESTED_ASN1_ERROR);
983 return 0; 946 return 0;
984 } 947 }
985 if (inf) 948 if (inf)
@@ -989,7 +952,7 @@ asn1_find_end(const unsigned char **in, long len, char inf)
989 len -= p - q; 952 len -= p - q;
990 } 953 }
991 if (expected_eoc) { 954 if (expected_eoc) {
992 ASN1err(ASN1_F_ASN1_FIND_END, ASN1_R_MISSING_EOC); 955 ASN1error(ASN1_R_MISSING_EOC);
993 return 0; 956 return 0;
994 } 957 }
995 *in = p; 958 *in = p;
@@ -1033,8 +996,7 @@ asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, char inf,
1033 /* EOC is illegal outside indefinite length 996 /* EOC is illegal outside indefinite length
1034 * constructed form */ 997 * constructed form */
1035 if (!inf) { 998 if (!inf) {
1036 ASN1err(ASN1_F_ASN1_COLLECT, 999 ASN1error(ASN1_R_UNEXPECTED_EOC);
1037 ASN1_R_UNEXPECTED_EOC);
1038 return 0; 1000 return 0;
1039 } 1001 }
1040 inf = 0; 1002 inf = 0;
@@ -1043,15 +1005,14 @@ asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, char inf,
1043 1005
1044 if (!asn1_check_tlen(&plen, NULL, NULL, &ininf, &cst, &p, 1006 if (!asn1_check_tlen(&plen, NULL, NULL, &ininf, &cst, &p,
1045 len, tag, aclass, 0, NULL)) { 1007 len, tag, aclass, 0, NULL)) {
1046 ASN1err(ASN1_F_ASN1_COLLECT, ERR_R_NESTED_ASN1_ERROR); 1008 ASN1error(ERR_R_NESTED_ASN1_ERROR);
1047 return 0; 1009 return 0;
1048 } 1010 }
1049 1011
1050 /* If indefinite length constructed update max length */ 1012 /* If indefinite length constructed update max length */
1051 if (cst) { 1013 if (cst) {
1052 if (depth >= ASN1_MAX_STRING_NEST) { 1014 if (depth >= ASN1_MAX_STRING_NEST) {
1053 ASN1err(ASN1_F_ASN1_COLLECT, 1015 ASN1error(ASN1_R_NESTED_ASN1_STRING);
1054 ASN1_R_NESTED_ASN1_STRING);
1055 return 0; 1016 return 0;
1056 } 1017 }
1057 if (!asn1_collect(buf, &p, plen, ininf, tag, aclass, 1018 if (!asn1_collect(buf, &p, plen, ininf, tag, aclass,
@@ -1062,7 +1023,7 @@ asn1_collect(BUF_MEM *buf, const unsigned char **in, long len, char inf,
1062 len -= p - q; 1023 len -= p - q;
1063 } 1024 }
1064 if (inf) { 1025 if (inf) {
1065 ASN1err(ASN1_F_ASN1_COLLECT, ASN1_R_MISSING_EOC); 1026 ASN1error(ASN1_R_MISSING_EOC);
1066 return 0; 1027 return 0;
1067 } 1028 }
1068 *in = p; 1029 *in = p;
@@ -1076,7 +1037,7 @@ collect_data(BUF_MEM *buf, const unsigned char **p, long plen)
1076 if (buf) { 1037 if (buf) {
1077 len = buf->length; 1038 len = buf->length;
1078 if (!BUF_MEM_grow_clean(buf, len + plen)) { 1039 if (!BUF_MEM_grow_clean(buf, len + plen)) {
1079 ASN1err(ASN1_F_COLLECT_DATA, ERR_R_MALLOC_FAILURE); 1040 ASN1error(ERR_R_MALLOC_FAILURE);
1080 return 0; 1041 return 0;
1081 } 1042 }
1082 memcpy(buf->data + len, *p, plen); 1043 memcpy(buf->data + len, *p, plen);
@@ -1141,8 +1102,7 @@ asn1_check_tlen(long *olen, int *otag, unsigned char *oclass, char *inf,
1141 * header can't exceed total amount of data available. 1102 * header can't exceed total amount of data available.
1142 */ 1103 */
1143 if (!(i & 0x81) && ((plen + ctx->hdrlen) > len)) { 1104 if (!(i & 0x81) && ((plen + ctx->hdrlen) > len)) {
1144 ASN1err(ASN1_F_ASN1_CHECK_TLEN, 1105 ASN1error(ASN1_R_TOO_LONG);
1145 ASN1_R_TOO_LONG);
1146 asn1_tlc_clear(ctx); 1106 asn1_tlc_clear(ctx);
1147 return 0; 1107 return 0;
1148 } 1108 }
@@ -1150,7 +1110,7 @@ asn1_check_tlen(long *olen, int *otag, unsigned char *oclass, char *inf,
1150 } 1110 }
1151 1111
1152 if (i & 0x80) { 1112 if (i & 0x80) {
1153 ASN1err(ASN1_F_ASN1_CHECK_TLEN, ASN1_R_BAD_OBJECT_HEADER); 1113 ASN1error(ASN1_R_BAD_OBJECT_HEADER);
1154 asn1_tlc_clear(ctx); 1114 asn1_tlc_clear(ctx);
1155 return 0; 1115 return 0;
1156 } 1116 }
@@ -1162,7 +1122,7 @@ asn1_check_tlen(long *olen, int *otag, unsigned char *oclass, char *inf,
1162 if (opt) 1122 if (opt)
1163 return -1; 1123 return -1;
1164 asn1_tlc_clear(ctx); 1124 asn1_tlc_clear(ctx);
1165 ASN1err(ASN1_F_ASN1_CHECK_TLEN, ASN1_R_WRONG_TAG); 1125 ASN1error(ASN1_R_WRONG_TAG);
1166 return 0; 1126 return 0;
1167 } 1127 }
1168 /* We have a tag and class match: 1128 /* We have a tag and class match:
diff --git a/src/lib/libcrypto/asn1/tasn_new.c b/src/lib/libcrypto/asn1/tasn_new.c
index 491de0131e..e9bbc05e08 100644
--- a/src/lib/libcrypto/asn1/tasn_new.c
+++ b/src/lib/libcrypto/asn1/tasn_new.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_new.c,v 1.16 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: tasn_new.c,v 1.17 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -190,7 +190,7 @@ asn1_item_ex_combine_new(ASN1_VALUE **pval, const ASN1_ITEM *it, int combine)
190 return 1; 190 return 1;
191 191
192memerr: 192memerr:
193 ASN1err(ASN1_F_ASN1_ITEM_EX_COMBINE_NEW, ERR_R_MALLOC_FAILURE); 193 ASN1error(ERR_R_MALLOC_FAILURE);
194#ifdef CRYPTO_MDEBUG 194#ifdef CRYPTO_MDEBUG
195 if (it->sname) 195 if (it->sname)
196 CRYPTO_pop_info(); 196 CRYPTO_pop_info();
@@ -198,7 +198,7 @@ memerr:
198 return 0; 198 return 0;
199 199
200auxerr: 200auxerr:
201 ASN1err(ASN1_F_ASN1_ITEM_EX_COMBINE_NEW, ASN1_R_AUX_ERROR); 201 ASN1error(ASN1_R_AUX_ERROR);
202 ASN1_item_ex_free(pval, it); 202 ASN1_item_ex_free(pval, it);
203#ifdef CRYPTO_MDEBUG 203#ifdef CRYPTO_MDEBUG
204 if (it->sname) 204 if (it->sname)
@@ -266,7 +266,7 @@ ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
266 STACK_OF(ASN1_VALUE) *skval; 266 STACK_OF(ASN1_VALUE) *skval;
267 skval = sk_ASN1_VALUE_new_null(); 267 skval = sk_ASN1_VALUE_new_null();
268 if (!skval) { 268 if (!skval) {
269 ASN1err(ASN1_F_ASN1_TEMPLATE_NEW, ERR_R_MALLOC_FAILURE); 269 ASN1error(ERR_R_MALLOC_FAILURE);
270 ret = 0; 270 ret = 0;
271 goto done; 271 goto done;
272 } 272 }
diff --git a/src/lib/libcrypto/asn1/tasn_prn.c b/src/lib/libcrypto/asn1/tasn_prn.c
index 80e7fbb890..7cccd56a16 100644
--- a/src/lib/libcrypto/asn1/tasn_prn.c
+++ b/src/lib/libcrypto/asn1/tasn_prn.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_prn.c,v 1.15 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: tasn_prn.c,v 1.16 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -87,7 +87,7 @@ ASN1_PCTX_new(void)
87 ASN1_PCTX *ret; 87 ASN1_PCTX *ret;
88 ret = malloc(sizeof(ASN1_PCTX)); 88 ret = malloc(sizeof(ASN1_PCTX));
89 if (ret == NULL) { 89 if (ret == NULL) {
90 ASN1err(ASN1_F_ASN1_PCTX_NEW, ERR_R_MALLOC_FAILURE); 90 ASN1error(ERR_R_MALLOC_FAILURE);
91 return NULL; 91 return NULL;
92 } 92 }
93 ret->flags = 0; 93 ret->flags = 0;
diff --git a/src/lib/libcrypto/asn1/tasn_utl.c b/src/lib/libcrypto/asn1/tasn_utl.c
index 529aaf6116..391ef01a57 100644
--- a/src/lib/libcrypto/asn1/tasn_utl.c
+++ b/src/lib/libcrypto/asn1/tasn_utl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_utl.c,v 1.11 2015/07/25 17:07:17 jsing Exp $ */ 1/* $OpenBSD: tasn_utl.c,v 1.12 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -275,7 +275,6 @@ asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, int nullerr)
275err: 275err:
276 /* FIXME: should log the value or OID of unsupported type */ 276 /* FIXME: should log the value or OID of unsupported type */
277 if (nullerr) 277 if (nullerr)
278 ASN1err(ASN1_F_ASN1_DO_ADB, 278 ASN1error(ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE);
279 ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE);
280 return NULL; 279 return NULL;
281} 280}
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index eeff341d7d..d8f24ca10b 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.26 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.27 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -535,7 +535,7 @@ X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
535 if (!inf->revoked) 535 if (!inf->revoked)
536 inf->revoked = sk_X509_REVOKED_new(X509_REVOKED_cmp); 536 inf->revoked = sk_X509_REVOKED_new(X509_REVOKED_cmp);
537 if (!inf->revoked || !sk_X509_REVOKED_push(inf->revoked, rev)) { 537 if (!inf->revoked || !sk_X509_REVOKED_push(inf->revoked, rev)) {
538 ASN1err(ASN1_F_X509_CRL_ADD0_REVOKED, ERR_R_MALLOC_FAILURE); 538 ASN1error(ERR_R_MALLOC_FAILURE);
539 return 0; 539 return 0;
540 } 540 }
541 inf->enc.modified = 1; 541 inf->enc.modified = 1;
diff --git a/src/lib/libcrypto/asn1/x_info.c b/src/lib/libcrypto/asn1/x_info.c
index 05ac364fa7..c476923158 100644
--- a/src/lib/libcrypto/asn1/x_info.c
+++ b/src/lib/libcrypto/asn1/x_info.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_info.c,v 1.16 2016/03/11 07:08:44 mmcc Exp $ */ 1/* $OpenBSD: x_info.c,v 1.17 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,7 +70,7 @@ X509_INFO_new(void)
70 70
71 ret = malloc(sizeof(X509_INFO)); 71 ret = malloc(sizeof(X509_INFO));
72 if (ret == NULL) { 72 if (ret == NULL) {
73 ASN1err(ASN1_F_X509_INFO_NEW, ERR_R_MALLOC_FAILURE); 73 ASN1error(ERR_R_MALLOC_FAILURE);
74 return (NULL); 74 return (NULL);
75 } 75 }
76 76
diff --git a/src/lib/libcrypto/asn1/x_long.c b/src/lib/libcrypto/asn1/x_long.c
index 90a41129bc..9df3a3181a 100644
--- a/src/lib/libcrypto/asn1/x_long.c
+++ b/src/lib/libcrypto/asn1/x_long.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_long.c,v 1.10 2015/07/25 17:07:17 jsing Exp $ */ 1/* $OpenBSD: x_long.c,v 1.11 2017/01/29 17:49:22 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -173,7 +173,7 @@ long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
173 unsigned long utmp = 0; 173 unsigned long utmp = 0;
174 char *cp = (char *)pval; 174 char *cp = (char *)pval;
175 if (len > (int)sizeof(long)) { 175 if (len > (int)sizeof(long)) {
176 ASN1err(ASN1_F_LONG_C2I, ASN1_R_INTEGER_TOO_LARGE_FOR_LONG); 176 ASN1error(ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);
177 return 0; 177 return 0;
178 } 178 }
179 /* Is it negative? */ 179 /* Is it negative? */
@@ -195,7 +195,7 @@ long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype,
195 ltmp = -ltmp; 195 ltmp = -ltmp;
196 } 196 }
197 if (ltmp == it->size) { 197 if (ltmp == it->size) {
198 ASN1err(ASN1_F_LONG_C2I, ASN1_R_INTEGER_TOO_LARGE_FOR_LONG); 198 ASN1error(ASN1_R_INTEGER_TOO_LARGE_FOR_LONG);
199 return 0; 199 return 0;
200 } 200 }
201 memcpy(cp, &ltmp, sizeof(long)); 201 memcpy(cp, &ltmp, sizeof(long));
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c
index 87bcc2c5ba..30fef39fb7 100644
--- a/src/lib/libcrypto/asn1/x_name.c
+++ b/src/lib/libcrypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.32 2016/12/30 16:04:34 jsing Exp $ */ 1/* $OpenBSD: x_name.c,v 1.33 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -257,7 +257,7 @@ x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
257 return 1; 257 return 1;
258 258
259memerr: 259memerr:
260 ASN1err(ASN1_F_X509_NAME_EX_NEW, ERR_R_MALLOC_FAILURE); 260 ASN1error(ERR_R_MALLOC_FAILURE);
261 if (ret) { 261 if (ret) {
262 if (ret->entries) 262 if (ret->entries)
263 sk_X509_NAME_ENTRY_free(ret->entries); 263 sk_X509_NAME_ENTRY_free(ret->entries);
@@ -339,7 +339,7 @@ x509_name_ex_d2i(ASN1_VALUE **val, const unsigned char **in, long len,
339err: 339err:
340 if (nm.x != NULL) 340 if (nm.x != NULL)
341 X509_NAME_free(nm.x); 341 X509_NAME_free(nm.x);
342 ASN1err(ASN1_F_X509_NAME_EX_D2I, ERR_R_NESTED_ASN1_ERROR); 342 ASN1error(ERR_R_NESTED_ASN1_ERROR);
343 return 0; 343 return 0;
344} 344}
345 345
@@ -424,7 +424,7 @@ x509_name_encode(X509_NAME *a)
424memerr: 424memerr:
425 sk_STACK_OF_X509_NAME_ENTRY_pop_free(intname.s, 425 sk_STACK_OF_X509_NAME_ENTRY_pop_free(intname.s,
426 local_sk_X509_NAME_ENTRY_free); 426 local_sk_X509_NAME_ENTRY_free);
427 ASN1err(ASN1_F_X509_NAME_ENCODE, ERR_R_MALLOC_FAILURE); 427 ASN1error(ERR_R_MALLOC_FAILURE);
428 return -1; 428 return -1;
429} 429}
430 430
diff --git a/src/lib/libcrypto/asn1/x_pkey.c b/src/lib/libcrypto/asn1/x_pkey.c
index 701db0fc6d..c946281f4a 100644
--- a/src/lib/libcrypto/asn1/x_pkey.c
+++ b/src/lib/libcrypto/asn1/x_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pkey.c,v 1.19 2015/09/30 18:41:06 jsing Exp $ */ 1/* $OpenBSD: x_pkey.c,v 1.20 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,16 +70,16 @@ X509_PKEY_new(void)
70 X509_PKEY *ret = NULL; 70 X509_PKEY *ret = NULL;
71 71
72 if ((ret = malloc(sizeof(X509_PKEY))) == NULL) { 72 if ((ret = malloc(sizeof(X509_PKEY))) == NULL) {
73 ASN1err(ASN1_F_X509_PKEY_NEW, ERR_R_MALLOC_FAILURE); 73 ASN1error(ERR_R_MALLOC_FAILURE);
74 goto err; 74 goto err;
75 } 75 }
76 ret->version = 0; 76 ret->version = 0;
77 if ((ret->enc_algor = X509_ALGOR_new()) == NULL) { 77 if ((ret->enc_algor = X509_ALGOR_new()) == NULL) {
78 ASN1err(ASN1_F_X509_PKEY_NEW, ERR_R_MALLOC_FAILURE); 78 ASN1error(ERR_R_MALLOC_FAILURE);
79 goto err; 79 goto err;
80 } 80 }
81 if ((ret->enc_pkey = ASN1_OCTET_STRING_new()) == NULL) { 81 if ((ret->enc_pkey = ASN1_OCTET_STRING_new()) == NULL) {
82 ASN1err(ASN1_F_X509_PKEY_NEW, ERR_R_MALLOC_FAILURE); 82 ASN1error(ERR_R_MALLOC_FAILURE);
83 goto err; 83 goto err;
84 } 84 }
85 ret->dec_pkey = NULL; 85 ret->dec_pkey = NULL;
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c
index 3bdbb5a536..738507bbb6 100644
--- a/src/lib/libcrypto/asn1/x_pubkey.c
+++ b/src/lib/libcrypto/asn1/x_pubkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_pubkey.c,v 1.25 2015/02/11 04:00:39 jsing Exp $ */ 1/* $OpenBSD: x_pubkey.c,v 1.26 2017/01/29 17:49:22 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -149,17 +149,15 @@ X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
149 if (pkey->ameth) { 149 if (pkey->ameth) {
150 if (pkey->ameth->pub_encode) { 150 if (pkey->ameth->pub_encode) {
151 if (!pkey->ameth->pub_encode(pk, pkey)) { 151 if (!pkey->ameth->pub_encode(pk, pkey)) {
152 X509err(X509_F_X509_PUBKEY_SET, 152 X509error(X509_R_PUBLIC_KEY_ENCODE_ERROR);
153 X509_R_PUBLIC_KEY_ENCODE_ERROR);
154 goto error; 153 goto error;
155 } 154 }
156 } else { 155 } else {
157 X509err(X509_F_X509_PUBKEY_SET, 156 X509error(X509_R_METHOD_NOT_SUPPORTED);
158 X509_R_METHOD_NOT_SUPPORTED);
159 goto error; 157 goto error;
160 } 158 }
161 } else { 159 } else {
162 X509err(X509_F_X509_PUBKEY_SET, X509_R_UNSUPPORTED_ALGORITHM); 160 X509error(X509_R_UNSUPPORTED_ALGORITHM);
163 goto error; 161 goto error;
164 } 162 }
165 163
@@ -193,23 +191,22 @@ X509_PUBKEY_get(X509_PUBKEY *key)
193 goto error; 191 goto error;
194 192
195 if ((ret = EVP_PKEY_new()) == NULL) { 193 if ((ret = EVP_PKEY_new()) == NULL) {
196 X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE); 194 X509error(ERR_R_MALLOC_FAILURE);
197 goto error; 195 goto error;
198 } 196 }
199 197
200 if (!EVP_PKEY_set_type(ret, OBJ_obj2nid(key->algor->algorithm))) { 198 if (!EVP_PKEY_set_type(ret, OBJ_obj2nid(key->algor->algorithm))) {
201 X509err(X509_F_X509_PUBKEY_GET, X509_R_UNSUPPORTED_ALGORITHM); 199 X509error(X509_R_UNSUPPORTED_ALGORITHM);
202 goto error; 200 goto error;
203 } 201 }
204 202
205 if (ret->ameth->pub_decode) { 203 if (ret->ameth->pub_decode) {
206 if (!ret->ameth->pub_decode(ret, key)) { 204 if (!ret->ameth->pub_decode(ret, key)) {
207 X509err(X509_F_X509_PUBKEY_GET, 205 X509error(X509_R_PUBLIC_KEY_DECODE_ERROR);
208 X509_R_PUBLIC_KEY_DECODE_ERROR);
209 goto error; 206 goto error;
210 } 207 }
211 } else { 208 } else {
212 X509err(X509_F_X509_PUBKEY_GET, X509_R_METHOD_NOT_SUPPORTED); 209 X509error(X509_R_METHOD_NOT_SUPPORTED);
213 goto error; 210 goto error;
214 } 211 }
215 212
@@ -304,7 +301,7 @@ i2d_RSA_PUBKEY(RSA *a, unsigned char **pp)
304 return 0; 301 return 0;
305 pktmp = EVP_PKEY_new(); 302 pktmp = EVP_PKEY_new();
306 if (!pktmp) { 303 if (!pktmp) {
307 ASN1err(ASN1_F_I2D_RSA_PUBKEY, ERR_R_MALLOC_FAILURE); 304 ASN1error(ERR_R_MALLOC_FAILURE);
308 return 0; 305 return 0;
309 } 306 }
310 EVP_PKEY_set1_RSA(pktmp, a); 307 EVP_PKEY_set1_RSA(pktmp, a);
@@ -346,7 +343,7 @@ i2d_DSA_PUBKEY(DSA *a, unsigned char **pp)
346 return 0; 343 return 0;
347 pktmp = EVP_PKEY_new(); 344 pktmp = EVP_PKEY_new();
348 if (!pktmp) { 345 if (!pktmp) {
349 ASN1err(ASN1_F_I2D_DSA_PUBKEY, ERR_R_MALLOC_FAILURE); 346 ASN1error(ERR_R_MALLOC_FAILURE);
350 return 0; 347 return 0;
351 } 348 }
352 EVP_PKEY_set1_DSA(pktmp, a); 349 EVP_PKEY_set1_DSA(pktmp, a);
@@ -387,7 +384,7 @@ i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp)
387 if (!a) 384 if (!a)
388 return (0); 385 return (0);
389 if ((pktmp = EVP_PKEY_new()) == NULL) { 386 if ((pktmp = EVP_PKEY_new()) == NULL) {
390 ASN1err(ASN1_F_I2D_EC_PUBKEY, ERR_R_MALLOC_FAILURE); 387 ASN1error(ERR_R_MALLOC_FAILURE);
391 return (0); 388 return (0);
392 } 389 }
393 EVP_PKEY_set1_EC_KEY(pktmp, a); 390 EVP_PKEY_set1_EC_KEY(pktmp, a);