[poppler] Fix rare segmentation fault in CID font vertical exceptions assignment

Peter Kerzum kerzum at yandex-team.ru
Wed Apr 15 03:49:19 PDT 2009


Good morning!

While using xpdf we encountered an error that applies both to xpdf and 
poppler. It seems to be a result of unattended copy-paste - index of 
horizontal exception is applied to vertical

Please consider applying the following patch:

--- a/GfxFont.cc
+++ b/GfxFont.cc
@@ -1590,11 +1590,11 @@ GfxCIDFont::GfxCIDFont(XRef *xref, char *tagA, Ref 
idA, GooString *nameA,
          if (obj3.arrayGet(k, &obj4)->isNum() &&
              obj3.arrayGet(k+1, &obj5)->isNum() &&
              obj3.arrayGet(k+2, &obj6)->isNum()) {
-           widths.excepsV[widths.nExceps].first = j;
-           widths.excepsV[widths.nExceps].last = j;
-           widths.excepsV[widths.nExceps].height = obj4.getNum() * 0.001;
-           widths.excepsV[widths.nExceps].vx = obj5.getNum() * 0.001;
-           widths.excepsV[widths.nExceps].vy = obj6.getNum() * 0.001;
+           widths.excepsV[widths.nExcepsV].first = j;
+           widths.excepsV[widths.nExcepsV].last = j;
+           widths.excepsV[widths.nExcepsV].height = obj4.getNum() * 0.001;
+           widths.excepsV[widths.nExcepsV].vx = obj5.getNum() * 0.001;
+           widths.excepsV[widths.nExcepsV].vy = obj6.getNum() * 0.001;
            ++j;
            ++widths.nExcepsV;
          } else {


-- 
Пётр Керзум
Группа разработки инфраструктуры поиска
тел. 8508 / +79119100088


More information about the poppler mailing list