Author: tilman Date: Wed Oct 8 17:14:10 2014 New Revision: 1630185 URL: http://svn.apache.org/r1630185 Log: PDFBOX-2401: fix COSString equals so that String values with 00 and FF are considered different
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSString.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSString.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSString.java?rev=1630185&r1=1630184&r2=1630185&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSString.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSString.java Wed Oct 8 17:14:10 2014 @@ -20,6 +20,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; +import java.util.Arrays; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -455,7 +456,9 @@ public class COSString extends COSBase if (obj instanceof COSString) { COSString strObj = (COSString) obj; - return this.getString().equals(strObj.getString()) && this.forceHexForm == strObj.forceHexForm; + // Workaround because different String objects with + // 0x00 and 0xFF content are equal in java?! + return Arrays.equals(this.getBytes(), strObj.getBytes()) && this.forceHexForm == strObj.forceHexForm; } return false; }