Fix infinite loop in CMS
authorDr. Stephen Henson <steve@openssl.org>
Fri, 5 Jun 2015 11:11:25 +0000 (12:11 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 11 Jun 2015 13:52:39 +0000 (14:52 +0100)
Fix loop in do_free_upto if cmsbio is NULL: this will happen when attempting
to verify and a digest is not recognised. Reported by Johannes Bauer.

CVE-2015-1792

Reviewed-by: Matt Caswell <matt@openssl.org>
crypto/cms/cms_smime.c

index 8729e3f9c00499d0b7ef9af1324338099afa46c2..b39ed489989f4ea3c91c0f964269410077dec400 100644 (file)
@@ -132,7 +132,7 @@ static void do_free_upto(BIO *f, BIO *upto)
             BIO_free(f);
             f = tbio;
         }
-        while (f != upto);
+        while (f && f != upto);
     } else
         BIO_free_all(f);
 }