Skip to content

Commit

Permalink
PR: 2411
Browse files Browse the repository at this point in the history
Submitted by: Rob Austein <sra@hactrn.net>
Reviewed by: steve

Fix corner cases in RFC3779 code.
  • Loading branch information
snhenson committed Jan 3, 2011
1 parent e501dbb commit 4e55e69
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 6 additions & 0 deletions crypto/x509v3/v3_addr.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,18 @@ static int i2r_address(BIO *out,
unsigned char addr[ADDR_RAW_BUF_LEN];
int i, n;

if (bs->length < 0)
return 0;
switch (afi) {
case IANA_AFI_IPV4:
if (bs->length > 4)
return 0;
addr_expand(addr, bs, 4, fill);
BIO_printf(out, "%d.%d.%d.%d", addr[0], addr[1], addr[2], addr[3]);
break;
case IANA_AFI_IPV6:
if (bs->length > 16)
return 0;
addr_expand(addr, bs, 16, fill);
for (n = 16; n > 1 && addr[n-1] == 0x00 && addr[n-2] == 0x00; n -= 2)
;
Expand Down
2 changes: 1 addition & 1 deletion crypto/x509v3/v3_asid.c
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
int v3_asid_is_canonical(ASIdentifiers *asid)
{
return (asid == NULL ||
(ASIdentifierChoice_is_canonical(asid->asnum) ||
(ASIdentifierChoice_is_canonical(asid->asnum) &&
ASIdentifierChoice_is_canonical(asid->rdi)));
}

Expand Down

0 comments on commit 4e55e69

Please sign in to comment.