瀏覽代碼

More complete input validation of X509_check_mumble.

(Imported from upstream's 3d15d58e55b97207188e87708a0e7f49b4bfd7fd.)

Change-Id: Iae9e3f839e03c22dc45ac2151884e7afcf31af7b
kris/onging/CECPQ3_patch15
Adam Langley 9 年之前
父節點
當前提交
82fc3bd333
共有 1 個文件被更改,包括 12 次插入2 次删除
  1. +12
    -2
      crypto/x509v3/v3_utl.c

+ 12
- 2
crypto/x509v3/v3_utl.c 查看文件

@@ -971,20 +971,28 @@ static int do_x509_check(X509 *x, const unsigned char *chk, size_t chklen,
int X509_check_host(X509 *x, const unsigned char *chk, size_t chklen,
unsigned int flags)
{
if (chk && memchr(chk, '\0', chklen))
return 0;
if (chk == NULL)
return -2;
if (memchr(chk, '\0', chklen))
return -2;
return do_x509_check(x, chk, chklen, flags, GEN_DNS);
}

int X509_check_email(X509 *x, const unsigned char *chk, size_t chklen,
unsigned int flags)
{
if (chk == NULL)
return -2;
if (memchr(chk, '\0', chklen))
return -2;
return do_x509_check(x, chk, chklen, flags, GEN_EMAIL);
}

int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,
unsigned int flags)
{
if (chk == NULL)
return -2;
return do_x509_check(x, chk, chklen, flags, GEN_IPADD);
}

@@ -992,6 +1000,8 @@ int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags)
{
unsigned char ipout[16];
int iplen;
if (ipasc == NULL)
return -2;
iplen = a2i_ipadd(ipout, ipasc);
if (iplen == 0)
return -2;


Loading…
取消
儲存