[poppler] invalid option can cause SEGV in pdftocairo

Albert Astals Cid aacid at kde.org
Wed Nov 20 11:46:39 PST 2013


El Dissabte, 16 de novembre de 2013, a les 20:44:05, suzuki toshiya va 
escriure:
> Here is revised patch.
> The code issuing error messages are harmonized to the surrounding code,
> so there are inconsistency (some use error(), other uses fprintf()).
> If further work (or better wording) is needed, I will do.

We need some better wording, 

"Wrong page range is given: the last page {0:d} must be after the first page 
{1:d}."

is not correct, they can also be the same page, what about

"Wrong page range given: the first page can not be after the last page"

?

Cheers,
  Albert

> Please comment.
> 
> Regards,
> mpsuzuki
> 
> suzuki toshiya wrote:
> > Albert Astals Cid wrote:
> >>> If endDocument() is invoked without beginDocument(), uninitialized
> >>> surface and output_file are referred, therefore, SEGV is caused.
> >>> 
> >>> The easiest fix would be NULL-initialization (not needed in C++?) of
> >>> surface & output_file, and checking NULL before referring them in
> >>> endDocument(). Patch is attached.
> >> 
> >> I'd prefer an if check for lastPage < firstPage that tells the user to
> >> not
> >> give the program bad parameters. Can you work on that?
> > 
> > OK, I will do so. Although SEGV does not occur, other utilities
> > (e.g. pdftotext, pdftoppm, pdftops etc) do not check such. I will
> > make a patchset for all pdftoXXX utilities.
> > 
> >> Cheers.
> >> 
> >>   Albert
> >>> 
> >>> Regards,
> >>> mpsuzuki
> > 
> > _______________________________________________
> > poppler mailing list
> > poppler at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/poppler



More information about the poppler mailing list