Hi,

> [email protected] hat am 6. Dezember 2013 um 08:15 geschrieben:
>
>
> Author: msahyoun
> Date: Fri Dec  6 07:15:36 2013
> New Revision: 1548387
>
> URL: http://svn.apache.org/r1548387
> Log:
> Fix for infinite loop in parseCOSHexString [PDFBOX-1796]
>
> Modified:
>   
> pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
>
> Modified:
> pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> URL:
> http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java?rev=1548387&r1=1548386&r2=1548387&view=diff
> ==============================================================================
> ---
> pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> (original)
> +++
> pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
> Fri Dec  6 07:15:36 2013
> @@ -1008,7 +1008,15 @@ public abstract class BaseParser
>                  do
>                  {
>                      c = pdfSource.read();
> -                } while ( c != '>' );
> +                } while ( c != '>' && c < 0 );
I guess there is a typo? It should be the following, shouldn't it?

                } while ( c != '>' && c >= 0 );

> +               
> +                // might have reached EOF while looking for the closing
> bracket
> +                // this can happen for malformed PDFs only. Make sure that
> there is
> +                // no endless loop.
> +                if ( c < 0 )
> +                {
> +                    throw new IOException( "Missing closing bracket for hex
> string. Reached EOS." );
> +                }
>                 
>                  // exit loop
>                  break;


BR
Andreas Lehmkühler

Reply via email to