Subjects
Home
VOTE Move XML Commons to Xerces
Commented: (XERCESJ 589) Bug with pattern restriction on long strings
: Xerces J 2 8 1 Release on Wednesday, September 13th
: Xerces J 2 9 0 Release on Wednesday, November 22nd
Commented: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1178) Error getting prefix for an attribute with no n
Updated: (XERCESJ 1244) XMLSchemaValidator does not contribute element 's
Some consideration about the xerces DOM implementation
Updated: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1227) Poor performance / OutOfMemoryError for sequenc
retain exception stack traces
Updated: (XERCESJ 1193) NPE or hang when parsing using the "continue afte
Future of NekoHTML
Commented: (XERCESJ 1203) NPE in XMLDTDProcessor
DOM Level 3 APIs for Xalan J and a new Xalan release (2 7 1)
: xml commons external 1 3 04 Release on Wednesday, November 22nd
Commented: (XERCESJ 1247) Incorrect location information on SAX when usin
XInclude exceptions how to mirror Xerces J functionality into Xerces C++?
First proposal on SoC project "Add support for the StAX (JSR 173) cursor API
: xml commons resolver 1 2 Release on Wednesday, November 22nd
Typo in RangeToken java Please check
Validator features
java lang ClassCastException when adopting Node
using the org apache xerces impl xs identity package
Updated: (XERCESJ 1257) buffer overflow in UTF8Reader for characters out
Problem with ref attributes and schema validation
Updated: (XERCESJ 122) XMLSchemaValidator does not contribute element 's d
Performance problem under load Xerces with Weblogic 9 x
remove ignored memory allocation
Commented: (XERCESJ 1177) SAXXMLStreamReader doesn 't always report namesp
Commented: (XERCESJ 977) Null pointer exception during DOM parsing
Commented: (XERCESJ 1197) Code cleanup for org apache xml serialize
Commented: (XERCESJ 1201) Initial contribution for StAX Event API
Updated: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special c
Commented: (XERCESJ 1199) SAXXMLStreamReader should attempt to register a
Commented: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special
Updated: (XERCESJ 589) Bug with pattern restriction on long strings
StackOverflow
xerces Range unnecessarily not garbage collectable if not detached
Updated: (XERCESJ 1178) Error getting prefix for an attribute with no nam
Bug in xs:redefine
Commented: (XERCESJ 1204) Can not set XMLEntityResolver for LSParser
Updated: (XERCESJ 1253) Prototype for SoC2007 project "Add support for th
Updated: (XERCESJ 1259) Add SteamFilter Function to SoC2007 project "Add
Assigned: (XERCESJ 444) SAXException thrown by EntityResolver is reported
Google Summer of Code 2007
Xerces J and XInclude relative path issue
Assigned: (XERCESJ 206) Stack overflow when using a schema validation
Commented: (XERCESJ 1215) Restrictions involving two levels of substituti
Closed: (XERCESJ 1203) NPE in XMLDTDProcessor
non overriding equals methoda
Resolved: (XERCESJ 1079) invalid value returned for TOTALDIGITS facet in
Xerces AS3 port
Updated: (XERCESJ 325) Regular Expression; Pattern "| " clause order de
Updated: (XERCESJ 1196) Javadoc generation fails on Java SE 5 0
Closed: (XERCESJ 1202) DTD validation on XIncluded documents when the sch
Created: (XERCESJ 1124) Nonspecific schema error message
a bug in xerces
Updated: (XERCESJ 1201) Initial contribution for StAX Event API
Closed: (XERCESJ 1254) Empty uris in targetNamespace attribute not report
Links
Home
Oracle database error code
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Updated: (XERCESJ-1222) Base64 encode/decode bug using xerces-2_9_0 while

Updated: (XERCESJ-1222) Base64 encode/decode bug using xerces-2_9_0 while

2006-12-27       - By Venkat Ganesh (JIRA)
Reply:     1     2  

    [ http://issues.apache.org/jira/browse/XERCESJ-1222?page=all ]

Venkat Ganesh updated XERCESJ-1222:
-----------------------------------

   Attachment: Base64EncodeDecode.java

The java program that can be used for reproducing this bug.

> Base64 encode/decode bug using xerces-2_9_0 while processing binary files.
> --------------------------------------------------------------------------
>
>                 Key: XERCESJ-1222
>                 URL: http://issues.apache.org/jira/browse/XERCESJ-1222
>             Project: Xerces2-J
>          Issue Type: Bug
>    Affects Versions: 2.9.0
>         Environment: Microsoft Windows XP [Version 5.1.2600]
>            Reporter: Venkat Ganesh
>         Attachments: Base64EncodeDecode.java
>
>
> Hi,
> The program Base64EncodeDecode.java shown below, is using org.apache.xerces
.impl.dv.util.Base64 class for base64 encode/decode. It works well with ASCII
files. However, it fails with binary files.
> Thanks.
> Testing.
> ======
> Make sure xerces jar files are in the classpath.
> Testing with ASCII files.
> ==================
> Encode a text file as shown below:
> java Base64EncodeDecode encode foo.xml foo_encoded.xml
> Decode the encoded file as shown below:
> java Base64EncodeDecode decode foo_encoded.xml foo_decoded.xml
> Verified foo.xml and foo_decoded.xml are identical, as expected.
> Testing with binary files.
> ==================
> Encode a binary file as shown below:
> java Base64EncodeDecode encode procexp.exe procexp_encoded.exe
> Decode the encoded file as shown below:
> java Base64EncodeDecode decode procexp_encoded.exe procexp_decoded.exe
> Verify you cannot double click and open the decoded exe file. You will see
the error message that the decoded exe file is not a valid Win32 application
even though the original executable (procexp.exe) is a valid executable. The
number of bytes and size of the original and decoded executables are same;
however, the third byte in procexp.exe is ox90 while it is 0x3f in the procexp
_decoded.exe, when viewed using a hex editor. There are many more differences.
> I am able to reproduce this issue with xerces-2_9_0 as well as xerces-2_7_1
jar files. Is this a known bug?
> How to encode/decode binary files using xerces jar files?
> Thanks and regards,
> V.Ganesh
> venkat_ganesh43016@(protected)
> Base64EncodeDecode.java
> ======================
> import java.io.FileInputStream;
> import java.io.FileOutputStream;
> import java.io.IOException;
> import org.apache.xerces.impl.dv.util.Base64;
> public class Base64EncodeDecode {
>     public static void main(String[] args) throws IOException {
>         if ( args.length != 3 )
>         {
>             System.out.println("Usage java Base64EncodeDecode encode|decode
<input-file-name> <output-file-name>");
>             System.out.println("You can use this program to encode binary
files also.");
>             return;
>         }
>         StringBuffer sb=new StringBuffer(10000);
>         FileInputStream inFile = null;
>         FileOutputStream outFile = null;
>         try {
>             inFile = new FileInputStream(args[1]);
>             outFile = new FileOutputStream(args[2]);
>             int byteRead=0;
>             int ctr=0;
>             int numberOfChars=0;
>             while ((byteRead = inFile.read()) != -1) {
>                sb.append((char ) byteRead);
>                numberOfChars++;
>             }
>             if ( args[0].equalsIgnoreCase("encode") == true )
>             {
>                 String tmpString=sb.toString();
>                 String outString=Base64.encode(tmpString.getBytes());
>                 if ( outString == null )
>                 {
>                   System.out.println("Failed- Not able to encode. ");
>                 } else {
>                   outFile.write(outString.getBytes());
>                 }
>             } else {
>                 String tmpString=sb.toString();
>                 byte outByteArray[] =Base64.decode(tmpString);
>                 if ( outByteArray == null )
>                 {
>                   System.out.println("Failed- Not able to decode. ");
>                 } else {
>                   outFile.write(outByteArray);
>                 }
>             }
>         } finally {
>             if (inFile != null) {
>                 inFile.close();
>             }
>             if (outFile != null) {
>                 outFile.close();
>             }
>         }
>     }
> }

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http:/
/issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@(protected)
For additional commands, e-mail: j-dev-help@(protected)