diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/x_name.c | 14 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/x_name.c | 14 | 
2 files changed, 16 insertions, 12 deletions
| diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c index 910110505d..c69c35534d 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.26 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.27 2015/02/14 15:16:59 miod 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 | * | 
| @@ -422,7 +422,7 @@ x509_name_canon(X509_NAME *a) | |||
| 422 | STACK_OF(STACK_OF_X509_NAME_ENTRY) *intname = NULL; | 422 | STACK_OF(STACK_OF_X509_NAME_ENTRY) *intname = NULL; | 
| 423 | STACK_OF(X509_NAME_ENTRY) *entries = NULL; | 423 | STACK_OF(X509_NAME_ENTRY) *entries = NULL; | 
| 424 | X509_NAME_ENTRY *entry, *tmpentry = NULL; | 424 | X509_NAME_ENTRY *entry, *tmpentry = NULL; | 
| 425 | int i, set = -1, ret = 0; | 425 | int i, len, set = -1, ret = 0; | 
| 426 | 426 | ||
| 427 | if (a->canon_enc) { | 427 | if (a->canon_enc) { | 
| 428 | free(a->canon_enc); | 428 | free(a->canon_enc); | 
| @@ -456,16 +456,18 @@ x509_name_canon(X509_NAME *a) | |||
| 456 | } | 456 | } | 
| 457 | 457 | ||
| 458 | /* Finally generate encoding */ | 458 | /* Finally generate encoding */ | 
| 459 | a->canon_enclen = i2d_name_canon(intname, NULL); | 459 | len = i2d_name_canon(intname, NULL); | 
| 460 | p = malloc(a->canon_enclen); | 460 | if (len < 0) | 
| 461 | if (!p) | 461 | goto err; | 
| 462 | p = malloc(len); | ||
| 463 | if (p == NULL) | ||
| 462 | goto err; | 464 | goto err; | 
| 463 | a->canon_enc = p; | 465 | a->canon_enc = p; | 
| 466 | a->canon_enclen = len; | ||
| 464 | i2d_name_canon(intname, &p); | 467 | i2d_name_canon(intname, &p); | 
| 465 | ret = 1; | 468 | ret = 1; | 
| 466 | 469 | ||
| 467 | err: | 470 | err: | 
| 468 | |||
| 469 | if (tmpentry) | 471 | if (tmpentry) | 
| 470 | X509_NAME_ENTRY_free(tmpentry); | 472 | X509_NAME_ENTRY_free(tmpentry); | 
| 471 | if (intname) | 473 | if (intname) | 
| diff --git a/src/lib/libssl/src/crypto/asn1/x_name.c b/src/lib/libssl/src/crypto/asn1/x_name.c index 910110505d..c69c35534d 100644 --- a/src/lib/libssl/src/crypto/asn1/x_name.c +++ b/src/lib/libssl/src/crypto/asn1/x_name.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x_name.c,v 1.26 2015/02/11 04:00:39 jsing Exp $ */ | 1 | /* $OpenBSD: x_name.c,v 1.27 2015/02/14 15:16:59 miod 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 | * | 
| @@ -422,7 +422,7 @@ x509_name_canon(X509_NAME *a) | |||
| 422 | STACK_OF(STACK_OF_X509_NAME_ENTRY) *intname = NULL; | 422 | STACK_OF(STACK_OF_X509_NAME_ENTRY) *intname = NULL; | 
| 423 | STACK_OF(X509_NAME_ENTRY) *entries = NULL; | 423 | STACK_OF(X509_NAME_ENTRY) *entries = NULL; | 
| 424 | X509_NAME_ENTRY *entry, *tmpentry = NULL; | 424 | X509_NAME_ENTRY *entry, *tmpentry = NULL; | 
| 425 | int i, set = -1, ret = 0; | 425 | int i, len, set = -1, ret = 0; | 
| 426 | 426 | ||
| 427 | if (a->canon_enc) { | 427 | if (a->canon_enc) { | 
| 428 | free(a->canon_enc); | 428 | free(a->canon_enc); | 
| @@ -456,16 +456,18 @@ x509_name_canon(X509_NAME *a) | |||
| 456 | } | 456 | } | 
| 457 | 457 | ||
| 458 | /* Finally generate encoding */ | 458 | /* Finally generate encoding */ | 
| 459 | a->canon_enclen = i2d_name_canon(intname, NULL); | 459 | len = i2d_name_canon(intname, NULL); | 
| 460 | p = malloc(a->canon_enclen); | 460 | if (len < 0) | 
| 461 | if (!p) | 461 | goto err; | 
| 462 | p = malloc(len); | ||
| 463 | if (p == NULL) | ||
| 462 | goto err; | 464 | goto err; | 
| 463 | a->canon_enc = p; | 465 | a->canon_enc = p; | 
| 466 | a->canon_enclen = len; | ||
| 464 | i2d_name_canon(intname, &p); | 467 | i2d_name_canon(intname, &p); | 
| 465 | ret = 1; | 468 | ret = 1; | 
| 466 | 469 | ||
| 467 | err: | 470 | err: | 
| 468 | |||
| 469 | if (tmpentry) | 471 | if (tmpentry) | 
| 470 | X509_NAME_ENTRY_free(tmpentry); | 472 | X509_NAME_ENTRY_free(tmpentry); | 
| 471 | if (intname) | 473 | if (intname) | 
