diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/p7_lib.c')
-rw-r--r-- | src/lib/libcrypto/asn1/p7_lib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/p7_lib.c b/src/lib/libcrypto/asn1/p7_lib.c index b1196ef581..8a340b0119 100644 --- a/src/lib/libcrypto/asn1/p7_lib.c +++ b/src/lib/libcrypto/asn1/p7_lib.c | |||
@@ -307,12 +307,14 @@ PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp, long length) | |||
307 | } | 307 | } |
308 | if (Tinf == (1|V_ASN1_CONSTRUCTED)) | 308 | if (Tinf == (1|V_ASN1_CONSTRUCTED)) |
309 | { | 309 | { |
310 | c.q=c.p; | ||
310 | if (!ASN1_check_infinite_end(&c.p,c.slen)) | 311 | if (!ASN1_check_infinite_end(&c.p,c.slen)) |
311 | { | 312 | { |
312 | c.error=ERR_R_MISSING_ASN1_EOS; | 313 | c.error=ERR_R_MISSING_ASN1_EOS; |
313 | c.line=__LINE__; | 314 | c.line=__LINE__; |
314 | goto err; | 315 | goto err; |
315 | } | 316 | } |
317 | c.slen-=(c.p-c.q); | ||
316 | } | 318 | } |
317 | } | 319 | } |
318 | else | 320 | else |