diff options
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_info.c')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_info.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c index 34ffb1c539..27b5415b2a 100644 --- a/src/lib/libcrypto/x509v3/v3_info.c +++ b/src/lib/libcrypto/x509v3/v3_info.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: v3_info.c,v 1.24 2016/12/30 15:54:49 jsing Exp $ */ | 1 | /* $OpenBSD: v3_info.c,v 1.25 2017/01/29 17:49:23 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 | */ |
@@ -221,8 +221,7 @@ i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, | |||
221 | nlen = strlen(objtmp) + strlen(vtmp->name) + 5; | 221 | nlen = strlen(objtmp) + strlen(vtmp->name) + 5; |
222 | ntmp = malloc(nlen); | 222 | ntmp = malloc(nlen); |
223 | if (!ntmp) { | 223 | if (!ntmp) { |
224 | X509V3err(X509V3_F_I2V_AUTHORITY_INFO_ACCESS, | 224 | X509V3error(ERR_R_MALLOC_FAILURE); |
225 | ERR_R_MALLOC_FAILURE); | ||
226 | return NULL; | 225 | return NULL; |
227 | } | 226 | } |
228 | strlcpy(ntmp, objtmp, nlen); | 227 | strlcpy(ntmp, objtmp, nlen); |
@@ -248,27 +247,23 @@ v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
248 | char *objtmp, *ptmp; | 247 | char *objtmp, *ptmp; |
249 | 248 | ||
250 | if (!(ainfo = sk_ACCESS_DESCRIPTION_new_null())) { | 249 | if (!(ainfo = sk_ACCESS_DESCRIPTION_new_null())) { |
251 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 250 | X509V3error(ERR_R_MALLOC_FAILURE); |
252 | ERR_R_MALLOC_FAILURE); | ||
253 | return NULL; | 251 | return NULL; |
254 | } | 252 | } |
255 | for (i = 0; i < sk_CONF_VALUE_num(nval); i++) { | 253 | for (i = 0; i < sk_CONF_VALUE_num(nval); i++) { |
256 | cnf = sk_CONF_VALUE_value(nval, i); | 254 | cnf = sk_CONF_VALUE_value(nval, i); |
257 | if ((acc = ACCESS_DESCRIPTION_new()) == NULL) { | 255 | if ((acc = ACCESS_DESCRIPTION_new()) == NULL) { |
258 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 256 | X509V3error(ERR_R_MALLOC_FAILURE); |
259 | ERR_R_MALLOC_FAILURE); | ||
260 | goto err; | 257 | goto err; |
261 | } | 258 | } |
262 | if (sk_ACCESS_DESCRIPTION_push(ainfo, acc) == 0) { | 259 | if (sk_ACCESS_DESCRIPTION_push(ainfo, acc) == 0) { |
263 | ACCESS_DESCRIPTION_free(acc); | 260 | ACCESS_DESCRIPTION_free(acc); |
264 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 261 | X509V3error(ERR_R_MALLOC_FAILURE); |
265 | ERR_R_MALLOC_FAILURE); | ||
266 | goto err; | 262 | goto err; |
267 | } | 263 | } |
268 | ptmp = strchr(cnf->name, ';'); | 264 | ptmp = strchr(cnf->name, ';'); |
269 | if (!ptmp) { | 265 | if (!ptmp) { |
270 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 266 | X509V3error(X509V3_R_INVALID_SYNTAX); |
271 | X509V3_R_INVALID_SYNTAX); | ||
272 | goto err; | 267 | goto err; |
273 | } | 268 | } |
274 | objlen = ptmp - cnf->name; | 269 | objlen = ptmp - cnf->name; |
@@ -277,15 +272,13 @@ v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | |||
277 | if (!v2i_GENERAL_NAME_ex(acc->location, method, ctx, &ctmp, 0)) | 272 | if (!v2i_GENERAL_NAME_ex(acc->location, method, ctx, &ctmp, 0)) |
278 | goto err; | 273 | goto err; |
279 | if (!(objtmp = malloc(objlen + 1))) { | 274 | if (!(objtmp = malloc(objlen + 1))) { |
280 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 275 | X509V3error(ERR_R_MALLOC_FAILURE); |
281 | ERR_R_MALLOC_FAILURE); | ||
282 | goto err; | 276 | goto err; |
283 | } | 277 | } |
284 | strlcpy(objtmp, cnf->name, objlen + 1); | 278 | strlcpy(objtmp, cnf->name, objlen + 1); |
285 | acc->method = OBJ_txt2obj(objtmp, 0); | 279 | acc->method = OBJ_txt2obj(objtmp, 0); |
286 | if (!acc->method) { | 280 | if (!acc->method) { |
287 | X509V3err(X509V3_F_V2I_AUTHORITY_INFO_ACCESS, | 281 | X509V3error(X509V3_R_BAD_OBJECT); |
288 | X509V3_R_BAD_OBJECT); | ||
289 | ERR_asprintf_error_data("value=%s", objtmp); | 282 | ERR_asprintf_error_data("value=%s", objtmp); |
290 | free(objtmp); | 283 | free(objtmp); |
291 | goto err; | 284 | goto err; |