[poppler] Fix rare segmentation fault in CID font vertical exceptions assignment
Peter A. Kerzum
kerzum at yandex-team.ru
Tue Jun 28 18:30:40 PDT 2011
Albert,
please excuse me for late reply
actually I have quite a collection of PDFs that crash poppler in different
ways, even with rendering disabled
If you are still interested, I can share
- Peter
В сообщении от Четверг 16 апреля 2009 02:03:04 автор Albert Astals Cid
написал:
> A Dimecres, 15 d'abril de 2009, Peter Kerzum va escriure:
> > 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 {
>
> Can we get a sample PDF that has this problem?
>
> Albert
--
Пётр Керзум
Группа разработки поисковой платформы
СПб, тел. 8508
More information about the poppler
mailing list