Fix OOB access

This commit is contained in:
Eric Blankenhorn
2020-05-28 09:39:44 -05:00
parent e388885407
commit 91fb6216a9

View File

@@ -17416,7 +17416,7 @@ static int ParseCRL_Extensions(DecodedCRL* dcrl, const byte* buf,
} }
/* prase crl buffer into decoded state, 0 on success */ /* parse crl buffer into decoded state, 0 on success */
int ParseCRL(DecodedCRL* dcrl, const byte* buff, word32 sz, void* cm) int ParseCRL(DecodedCRL* dcrl, const byte* buff, word32 sz, void* cm)
{ {
int len; int len;
@@ -17444,10 +17444,10 @@ int ParseCRL(DecodedCRL* dcrl, const byte* buff, word32 sz, void* cm)
return ASN_PARSE_E; return ASN_PARSE_E;
dcrl->sigIndex = len + idx; dcrl->sigIndex = len + idx;
if (ParseCRL_CertList(dcrl, buff, &idx, idx + len) < 0) if (ParseCRL_CertList(dcrl, buff, &idx, sz) < 0)
return ASN_PARSE_E; return ASN_PARSE_E;
if (ParseCRL_Extensions(dcrl, buff, &idx, idx + len) < 0) if (ParseCRL_Extensions(dcrl, buff, &idx, sz) < 0)
return ASN_PARSE_E; return ASN_PARSE_E;
idx = dcrl->sigIndex; idx = dcrl->sigIndex;