Add a length check in rsa_get_pubkey()
diff --git a/library/x509parse.c b/library/x509parse.c
index 6d7d08d..a4ee6b5 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -518,6 +518,10 @@
         ( ret = asn1_get_mpi( p, end, &rsa->E ) ) != 0 )
         return( POLARSSL_ERR_X509_CERT_INVALID_PUBKEY + ret );
 
+    if( *p != end )
+        return( POLARSSL_ERR_X509_CERT_INVALID_PUBKEY +
+                POLARSSL_ERR_ASN1_LENGTH_MISMATCH );
+
     if( ( ret = rsa_check_pubkey( rsa ) ) != 0 )
         return( ret );