From 5b0c017a94a1fe18b781070eef4bdc0a57bb39f1 Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Wed, 26 Apr 2023 09:03:08 +1000 Subject: [PATCH] ASN original, OCSP: fix maximum size calc to GetDateInfo GetDateInfo called with a local index (reset to 0) but size is of original buffer. Subtract the index into original buffer from size to get size available for parsing. --- wolfcrypt/src/asn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index dfe9817a7..78433e7ac 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -33759,7 +33759,7 @@ static int DecodeSingleResponse(byte* source, word32* ioIndex, word32 size, localIdx = 0; if (GetDateInfo(single->status->thisDateAsn, &localIdx, NULL, (byte*)&single->status->thisDateParsed.type, - &single->status->thisDateParsed.length, size) < 0) + &single->status->thisDateParsed.length, size - idx) < 0) return ASN_PARSE_E; if (idx + localIdx >= size) @@ -33795,7 +33795,7 @@ static int DecodeSingleResponse(byte* source, word32* ioIndex, word32 size, localIdx = 0; if (GetDateInfo(single->status->nextDateAsn, &localIdx, NULL, (byte*)&single->status->nextDateParsed.type, - &single->status->nextDateParsed.length, size) < 0) + &single->status->nextDateParsed.length, size - idx) < 0) return ASN_PARSE_E; if (idx + localIdx >= size)