aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/x509
diff options
context:
space:
mode:
authorKurt Roeckx <kurt@roeckx.be>2015-09-29 19:59:48 +0200
committerKurt Roeckx <kurt@roeckx.be>2015-10-03 13:22:52 +0200
commit605236f6a8fe0743af2f63d93239a74c69dae137 (patch)
treee8f5915d9a6ecc713cd9593514220474748c416e /crypto/x509
parent9982cbbbf65473418661f5aa1f05e7ef88ada801 (diff)
downloadopenssl-605236f6a8fe0743af2f63d93239a74c69dae137.tar.gz
Fix more d2i cases to properly update the input pointer
Thanks to David Benjamin <davidben@google.com> for pointing them out. Reviewed-by: Steve Henson <steve@openssl.org> MR #1198
Diffstat (limited to 'crypto/x509')
-rw-r--r--crypto/x509/x_x509.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/crypto/x509/x_x509.c b/crypto/x509/x_x509.c
index 028c75a924..92d4fa34e6 100644
--- a/crypto/x509/x_x509.c
+++ b/crypto/x509/x_x509.c
@@ -184,9 +184,7 @@ X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
return NULL;
/* update length */
length -= q - *pp;
- if (!length)
- return ret;
- if (!d2i_X509_CERT_AUX(&ret->aux, &q, length))
+ if (length > 0 && !d2i_X509_CERT_AUX(&ret->aux, &q, length))
goto err;
*pp = q;
return ret;