crypt32: Pass bytes decoded pointer to AsnDecodeArray.
This commit is contained in:
parent
1f4bcb4a3d
commit
b2f02f3bf7
|
@ -510,7 +510,7 @@ struct AsnArrayItemSize
|
||||||
static BOOL CRYPT_AsnDecodeArray(const struct AsnArrayDescriptor *arrayDesc,
|
static BOOL CRYPT_AsnDecodeArray(const struct AsnArrayDescriptor *arrayDesc,
|
||||||
const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
|
const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags,
|
||||||
PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo,
|
PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo,
|
||||||
void *startingPointer)
|
DWORD *pcbDecoded, void *startingPointer)
|
||||||
{
|
{
|
||||||
BOOL ret = TRUE;
|
BOOL ret = TRUE;
|
||||||
|
|
||||||
|
@ -989,7 +989,7 @@ static BOOL WINAPI CRYPT_AsnDecodeCRLEntries(DWORD dwCertEncodingType,
|
||||||
pDecodePara, pvStructInfo, *pcbStructInfo);
|
pDecodePara, pvStructInfo, *pcbStructInfo);
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo,
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
entries ? entries->rgItems : NULL);
|
entries ? entries->rgItems : NULL);
|
||||||
TRACE("Returning %d (%08x)\n", ret, GetLastError());
|
TRACE("Returning %d (%08x)\n", ret, GetLastError());
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -1261,7 +1261,8 @@ static BOOL WINAPI CRYPT_AsnDecodeExtensionsInternal(DWORD dwCertEncodingType,
|
||||||
pDecodePara, pvStructInfo, *pcbStructInfo);
|
pDecodePara, pvStructInfo, *pcbStructInfo);
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, exts ? exts->rgExtension : NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
|
exts ? exts->rgExtension : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1704,7 +1705,8 @@ static BOOL CRYPT_AsnDecodeRdn(const BYTE *pbEncoded, DWORD cbEncoded,
|
||||||
PCERT_RDN rdn = (PCERT_RDN)pvStructInfo;
|
PCERT_RDN rdn = (PCERT_RDN)pvStructInfo;
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
NULL, pvStructInfo, pcbStructInfo, rdn ? rdn->rgRDNAttr : NULL);
|
NULL, pvStructInfo, pcbStructInfo, pcbDecoded,
|
||||||
|
rdn ? rdn->rgRDNAttr : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1721,7 +1723,7 @@ static BOOL WINAPI CRYPT_AsnDecodeName(DWORD dwCertEncodingType,
|
||||||
offsetof(CERT_RDN, rgRDNAttr) };
|
offsetof(CERT_RDN, rgRDNAttr) };
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, NULL);
|
||||||
}
|
}
|
||||||
__EXCEPT_PAGE_FAULT
|
__EXCEPT_PAGE_FAULT
|
||||||
{
|
{
|
||||||
|
@ -1775,7 +1777,8 @@ static BOOL CRYPT_AsnDecodeUnicodeRdn(const BYTE *pbEncoded, DWORD cbEncoded,
|
||||||
PCERT_RDN rdn = (PCERT_RDN)pvStructInfo;
|
PCERT_RDN rdn = (PCERT_RDN)pvStructInfo;
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
NULL, pvStructInfo, pcbStructInfo, rdn ? rdn->rgRDNAttr : NULL);
|
NULL, pvStructInfo, pcbStructInfo, pcbDecoded,
|
||||||
|
rdn ? rdn->rgRDNAttr : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1792,7 +1795,7 @@ static BOOL WINAPI CRYPT_AsnDecodeUnicodeName(DWORD dwCertEncodingType,
|
||||||
offsetof(CERT_RDN, rgRDNAttr) };
|
offsetof(CERT_RDN, rgRDNAttr) };
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, NULL);
|
||||||
}
|
}
|
||||||
__EXCEPT_PAGE_FAULT
|
__EXCEPT_PAGE_FAULT
|
||||||
{
|
{
|
||||||
|
@ -1855,7 +1858,8 @@ static BOOL WINAPI CRYPT_DecodeDERArray(DWORD dwCertEncodingType,
|
||||||
pDecodePara, pvStructInfo, *pcbStructInfo);
|
pDecodePara, pvStructInfo, *pcbStructInfo);
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, array ? array->rgItems : NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
|
array ? array->rgItems : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1941,7 +1945,7 @@ static BOOL WINAPI CRYPT_AsnDecodePKCSAttributesInternal(
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, attrs ? attrs->rgAttr :
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, attrs ? attrs->rgAttr :
|
||||||
NULL);
|
NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -2304,7 +2308,8 @@ static BOOL WINAPI CRYPT_AsnDecodeAltNameInternal(DWORD dwCertEncodingType,
|
||||||
if (info)
|
if (info)
|
||||||
TRACE("info->rgAltEntry is %p\n", info->rgAltEntry);
|
TRACE("info->rgAltEntry is %p\n", info->rgAltEntry);
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, info ? info->rgAltEntry : NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
|
info ? info->rgAltEntry : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2559,7 +2564,7 @@ static BOOL WINAPI CRYPT_AsnDecodeAltName(DWORD dwCertEncodingType,
|
||||||
offsetof(CERT_ALT_NAME_ENTRY, u.pwszURL) };
|
offsetof(CERT_ALT_NAME_ENTRY, u.pwszURL) };
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, NULL);
|
||||||
}
|
}
|
||||||
__EXCEPT_PAGE_FAULT
|
__EXCEPT_PAGE_FAULT
|
||||||
{
|
{
|
||||||
|
@ -2638,7 +2643,7 @@ static BOOL WINAPI CRYPT_AsnDecodeSubtreeConstraints(DWORD dwCertEncodingType,
|
||||||
pDecodePara, pvStructInfo, *pcbStructInfo);
|
pDecodePara, pvStructInfo, *pcbStructInfo);
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo,
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
entries ? entries->rgItems : NULL);
|
entries ? entries->rgItems : NULL);
|
||||||
TRACE("Returning %d (%08x)\n", ret, GetLastError());
|
TRACE("Returning %d (%08x)\n", ret, GetLastError());
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -3741,7 +3746,7 @@ static BOOL WINAPI CRYPT_AsnDecodeDistPointName(DWORD dwCertEncodingType,
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc,
|
||||||
pbEncoded + 1 + lenBytes, cbEncoded - 1 - lenBytes,
|
pbEncoded + 1 + lenBytes, cbEncoded - 1 - lenBytes,
|
||||||
0, NULL, NULL, &nameLen, NULL);
|
0, NULL, NULL, &nameLen, NULL, NULL);
|
||||||
bytesNeeded = sizeof(CRL_DIST_POINT_NAME) + nameLen;
|
bytesNeeded = sizeof(CRL_DIST_POINT_NAME) + nameLen;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3763,7 +3768,7 @@ static BOOL WINAPI CRYPT_AsnDecodeDistPointName(DWORD dwCertEncodingType,
|
||||||
name->dwDistPointNameChoice = CRL_DIST_POINT_FULL_NAME;
|
name->dwDistPointNameChoice = CRL_DIST_POINT_FULL_NAME;
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc,
|
||||||
pbEncoded + 1 + lenBytes, cbEncoded - 1 - lenBytes,
|
pbEncoded + 1 + lenBytes, cbEncoded - 1 - lenBytes,
|
||||||
0, NULL, &name->u.FullName, pcbStructInfo,
|
0, NULL, &name->u.FullName, pcbStructInfo, NULL,
|
||||||
name->u.FullName.rgAltEntry);
|
name->u.FullName.rgAltEntry);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3818,7 +3823,7 @@ static BOOL WINAPI CRYPT_AsnDecodeCRLDistPoints(DWORD dwCertEncodingType,
|
||||||
offsetof(CRL_DIST_POINT, DistPointName.u.FullName.rgAltEntry) };
|
offsetof(CRL_DIST_POINT, DistPointName.u.FullName.rgAltEntry) };
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, NULL);
|
||||||
}
|
}
|
||||||
__EXCEPT_PAGE_FAULT
|
__EXCEPT_PAGE_FAULT
|
||||||
{
|
{
|
||||||
|
@ -3844,7 +3849,7 @@ static BOOL WINAPI CRYPT_AsnDecodeEnhancedKeyUsage(DWORD dwCertEncodingType,
|
||||||
CRYPT_AsnDecodeOidInternal, sizeof(LPSTR), TRUE, 0 };
|
CRYPT_AsnDecodeOidInternal, sizeof(LPSTR), TRUE, 0 };
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL, NULL);
|
||||||
}
|
}
|
||||||
__EXCEPT_PAGE_FAULT
|
__EXCEPT_PAGE_FAULT
|
||||||
{
|
{
|
||||||
|
@ -4028,7 +4033,8 @@ static BOOL WINAPI CRYPT_DecodeSignerArray(DWORD dwCertEncodingType,
|
||||||
pDecodePara, pvStructInfo, *pcbStructInfo);
|
pDecodePara, pvStructInfo, *pcbStructInfo);
|
||||||
|
|
||||||
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
ret = CRYPT_AsnDecodeArray(&arrayDesc, pbEncoded, cbEncoded, dwFlags,
|
||||||
pDecodePara, pvStructInfo, pcbStructInfo, array ? array->rgItems : NULL);
|
pDecodePara, pvStructInfo, pcbStructInfo, NULL,
|
||||||
|
array ? array->rgItems : NULL);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue