crypt32: Don't pass CRYPT_DECODE_ALLOC_FLAG to array item decoders.

This commit is contained in:
Juan Lang 2009-10-15 08:57:13 -07:00 committed by Alexandre Julliard
parent 905609b73b
commit 7a33b61f34

View file

@ -671,7 +671,8 @@ static BOOL CRYPT_AsnDecodeArray(const struct AsnArrayDescriptor *arrayDesc,
} }
if (ret) if (ret)
ret = arrayDesc->decodeFunc(ptr, itemEncoded, ret = arrayDesc->decodeFunc(ptr, itemEncoded,
dwFlags, NULL, &size, &itemDecoded); dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, NULL, &size,
&itemDecoded);
if (ret) if (ret)
{ {
cItems++; cItems++;
@ -741,7 +742,8 @@ static BOOL CRYPT_AsnDecodeArray(const struct AsnArrayDescriptor *arrayDesc,
*(BYTE **)((BYTE *)rgItems + i * arrayDesc->itemSize *(BYTE **)((BYTE *)rgItems + i * arrayDesc->itemSize
+ arrayDesc->pointerOffset) = nextData; + arrayDesc->pointerOffset) = nextData;
ret = arrayDesc->decodeFunc(ptr, ret = arrayDesc->decodeFunc(ptr,
itemSizes[i].encodedLen, 0, itemSizes[i].encodedLen,
dwFlags & ~CRYPT_DECODE_ALLOC_FLAG,
(BYTE *)rgItems + i * arrayDesc->itemSize, (BYTE *)rgItems + i * arrayDesc->itemSize,
&itemSizes[i].size, &itemDecoded); &itemSizes[i].size, &itemDecoded);
if (ret) if (ret)