75a61b
commit f966b8766d40b2c912e69a1e17ef8cc4bd52be95
75a61b
Author: Carlos Garcia Campos <carlosgc@gnome.org>
75a61b
Date:   Tue Oct 21 16:42:27 2014 +0200
75a61b
75a61b
    fofi: Fix a crash when parsing an invalid font due to a integer overflow
75a61b
    
75a61b
    This fixes a crash rendering trust_metrics.f2495.f0.pdf.
75a61b
75a61b
diff --git a/fofi/FoFiType1.cc b/fofi/FoFiType1.cc
75a61b
index 8fa10a0..2245184 100644
75a61b
--- a/fofi/FoFiType1.cc
75a61b
+++ b/fofi/FoFiType1.cc
75a61b
@@ -263,7 +263,7 @@ void FoFiType1::parse() {
75a61b
 	    } else {
75a61b
 	      break;
75a61b
 	    }
75a61b
-	    for (; *p >= '0' && *p < '0' + base; ++p) {
75a61b
+	    for (; *p >= '0' && *p < '0' + base && code < INT_MAX / (base + (*p - '0')); ++p) {
75a61b
 	      code = code * base + (*p - '0');
75a61b
 	    }
75a61b
 	    for (; *p == ' ' || *p == '\t'; ++p) ;