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