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 14:10:48 +0000 (15:10 +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 d6f5c1a344dc2f209df365200401bcfd2dadfa60..e9e6a98513259885785b13de0e0361cb664d2ffd 100644 (file)
@@ -131,7 +131,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);
 }