Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6371431

CharsetDecoder.decode of Cp33722 fails for single-byte input

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 5.0
    • core-libs

      FULL PRODUCT VERSION :
      java version "1.5.0_06"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
      Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)


      ADDITIONAL OS VERSION INFORMATION :
      Linux honolulu.ilog.fr 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686 unknown


      A DESCRIPTION OF THE PROBLEM :
      The decoder for Cp33722 fails to throw a MalformedInputException for
      many single-byte input buffers.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      javac niobug3.java
      java niobug3


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No output.
      ACTUAL -
      0x8E 0x
      0xA1 0x
      0xA2 0x3001
      0xA3 0x
      0xA5 0x
      0xA6 0x30A6
      0xA7 0x
      0xA8 0x0416
      0xA9 0x
      0xAB 0x
      0xAD 0x
      0xAF 0x
      0xB1 0x
      0xB2 0x6E26
      0xB3 0x
      0xB4 0x6168
      0xB5 0x
      0xB6 0x507D
      0xB7 0x
      0xB8 0x4FC2
      0xB9 0x
      0xBA 0x676D
      0xBB 0x
      0xBC 0x7E82
      0xBD 0x
      0xBE 0x5F93
      0xBF 0x
      0xC0 0x795E
      0xC1 0x
      0xC2 0x758E
      0xC3 0x
      0xC4 0x56E3
      0xC5 0x
      0xC6 0x514E
      0xC7 0x
      0xC8 0x6CE2
      0xC9 0x
      0xCA 0x54C1
      0xCB 0x
      0xCC 0x5317
      0xCD 0x
      0xCE 0x6D0B
      0xCF 0x
      0xD0 0x6900
      0xD1 0x
      0xD2 0x51AB
      0xD3 0x
      0xD4 0x5616
      0xD5 0x
      0xD6 0x5B5B
      0xD7 0x
      0xD8 0x5FE4
      0xD9 0x
      0xDA 0x63A3
      0xDB 0x
      0xDC 0x6840
      0xDD 0x
      0xDE 0x6BF3
      0xDF 0x
      0xE0 0x70D9
      0xE1 0x
      0xE2 0x75F0
      0xE3 0x
      0xE4 0x9083
      0xE5 0x
      0xE6 0x7E59
      0xE7 0x
      0xE8 0x827E
      0xE9 0x
      0xEA 0x8709
      0xEB 0x
      0xEC 0x8B16
      0xED 0x
      0xEE 0x9087
      0xEF 0x
      0xF0 0x95DC
      0xF1 0x
      0xF2 0x9AD3
      0xF3 0x
      0xF4 0x9F61
      0xF5 0x
      0xF6 0xE055
      0xF7 0x
      0xF8 0xE113
      0xF9 0x
      0xFA 0xE1D1
      0xFB 0x
      0xFC 0xE28F
      0xFD 0x
      0xFE 0xE34D


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.io.*;
      import java.nio.*;
      import java.nio.charset.*;

      public class niobug3 {
        static String toHexString1 (int i) {
          return new String(new char[] { "0123456789ABCDEF".charAt(i) });
        }
        static String toHexString2 (int i) {
          return toHexString1((i>>4)&0x0f)
                 +toHexString1(i&0x0f);
        }
        static String toHexString4 (int i) {
          return toHexString1((i>>12)&0x0f)
                 +toHexString1((i>>8)&0x0f)
                 +toHexString1((i>>4)&0x0f)
                 +toHexString1(i&0x0f);
        }
        public static void main (String[] args) throws CharacterCodingException {
          String encoding = "Cp33722";
          Charset charset = Charset.forName(encoding);
          CharsetDecoder converter = charset.newDecoder();
          converter = converter.onMalformedInput(CodingErrorAction.REPORT);
          converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT);
          for (int b = 0x8e; b < 0x100; b++)
            if (!(b >= 0x90 && b <= 0x9f)) {
              ByteBuffer in = ByteBuffer.wrap(new byte[] { (byte)b });
              try {
                CharBuffer out = converter.decode(in);
                System.out.print("0x"+toHexString2(b)+" 0x");
                for (int j = 0; j < out.length(); j++) {
                  if (j > 0)
                    System.out.print(" 0x");
                  System.out.print(toHexString4(out.charAt(j)));
                }
                System.out.println();
              } catch (CharacterCodingException e) {
              }
            }
        }
      }

      ---------- END SOURCE ----------

            sherman Xueming Shen
            rmandalasunw Ranjith Mandala (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: