You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/05/01 07:29:19 UTC
svn commit: r1877243 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java
Author: tilman
Date: Fri May 1 07:29:19 2020
New Revision: 1877243
URL: http://svn.apache.org/viewvc?rev=1877243&view=rev
Log:
PDFBOX-4822: corrected off-by-one error as suggested by Gábor Stefanik; support having extra character at beginning AND end of read bytes
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java?rev=1877243&r1=1877242&r2=1877243&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSignature.java Fri May 1 07:29:19 2020
@@ -343,20 +343,20 @@ public class PDSignature implements COSO
int readLen;
while ((readLen = is.read(buffer)) != -1)
{
+ int writeLen = readLen;
+ int start = 0;
// Filter < and (
if(buffer[0]==0x3C || buffer[0]==0x28)
{
- baos.write(buffer, 1, readLen);
+ ++start;
+ --writeLen;
}
- // Filter > and )
- else if(buffer[readLen-1]==0x3E || buffer[readLen-1]==0x29)
+ // Filter > and ) at the end
+ if(buffer[readLen-1]==0x3E || buffer[readLen-1]==0x29)
{
- baos.write(buffer, 0, readLen-1);
- }
- else
- {
- baos.write(buffer, 0, readLen);
+ --writeLen;
}
+ baos.write(buffer, start, writeLen);
}
is.close();