Hi Johannes,
Thank you very much for the patch and the perfect explanation! I commited the
change as it works for me and sounds very reasonable.
Cheers,
Dominik
On Tuesday 24 August 2010 12:33:38 Dr. Johannes Bitterling wrote:
> Hi all,
>
> I've just found a bug in PdfLZWFilter, and (maybe) developed a suitable
> fix. Please verify before using it :-)
>
> Bug: parsing fails on some PDFs containing LZW-compressed streams (see
> also: "Problem with /LZWDecode filter stream" report as of of Fri, 16 Apr
> 2010 10:02:06 -0700, this might solve the problem mentioned - had the same
> problem here).
>
> Suggested solution: in file PdfFiltersPrivate.cpp, function
> PdfLZWFilter::DecodeBlockImpl, just remove the "case 4095:".
>
> Reasons: when the dictionary size reaches 4095 entries, further
> incrementing m_mask will invariably lead to an "out of bounds" array access
> in s_masks[] (which has just four entries, valid indices 0..3). - In
> addition, at least the PDF files which I used for debugging do contain an
> PdfLZWFilter::s_clear as next opcode... but with unchanged m_code_len, so
> incrementing m_code_len will lead to consumption of an additional input
> bit, which will render the rest of the stream unreadable.
>
> Regards,
> Johannes
>
>
> ---------------------------------------------------------------------------
>--- Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be
> part of this innovative community and reach millions of netbook users
> worldwide. Take advantage of special opportunities to increase revenue and
> speed time-to-market. Join now, and jumpstart your future.
> http://p.sf.net/sfu/intel-atom-d2d
> _______________________________________________
> Podofo-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/podofo-users
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Podofo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/podofo-users