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

Albert Astals Cid aacid at kde.org
Wed Jun 29 01:18:41 PDT 2011


A Wednesday, June 29, 2011, Peter A. Kerzum va escriure:
> 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

Of course I am.

If possible it would be good if you could create bugs in bugs.freedesktop.org 
and attach them there. If the pdf files are private just send them to my mail 
address.

Albert

> 
> - 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


More information about the poppler mailing list