summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/v3_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_info.c')
-rw-r--r--src/lib/libcrypto/x509v3/v3_info.c23
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;