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

NPE in x-ISO-2022-CN-GB & x-ISO-2022-CN-CNS in decoding

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 6
    • core-libs

      FULL PRODUCT VERSION :
      java version "1.6.0_02"
      Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
      Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      XP SP2

      A DESCRIPTION OF THE PROBLEM :
      Character decoder x-ISO-2022-CN-GB & x-ISO-2022-CN-CNS throws NullPointerException

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run test case below

      ACTUAL -
      Exception thrown

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.NullPointerException
              at sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode(ISO2022_CN.java:116)
              at sun.nio.cs.ext.ISO2022_CN$Decoder.decodeArrayLoop(ISO2022_CN.java:368
      )
              at sun.nio.cs.ext.ISO2022_CN$Decoder.decodeLoop(ISO2022_CN.java:383)
              at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:544)
              at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:140)
              at java.lang.StringCoding.decode(StringCoding.java:173)
              at java.lang.String.<init>(String.java:444)
              at java.lang.String.<init>(String.java:516)
              at EncErr2.main(EncErr2.java:12)
      java.lang.NullPointerException
              at sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode(ISO2022_CN.java:114)
              at sun.nio.cs.ext.ISO2022_CN$Decoder.decodeArrayLoop(ISO2022_CN.java:368
      )
              at sun.nio.cs.ext.ISO2022_CN$Decoder.decodeLoop(ISO2022_CN.java:383)
              at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:544)
              at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:140)
              at java.lang.StringCoding.decode(StringCoding.java:173)
              at java.lang.String.<init>(String.java:444)
              at java.lang.String.<init>(String.java:516)
              at EncErr2.main(EncErr2.java:22)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.io.*;
      import java.nio.charset.*;
      import java.util.*;
      public class EncErr2 {
          public static void main(String[] args){
              String enc = "x-ISO-2022-CN-CNS";
              int c = 0xa7;
              String s = String.valueOf((char)c);
              byte[] bb = null;
              try {
                  bb = s.getBytes(enc);
                  String str = new String(bb,enc);
              } catch (Throwable th){
                  th.printStackTrace(System.err);
              }
              enc = "x-ISO-2022-CN-GB";
              c = 0xa4;
              s = String.valueOf((char)c);
              bb = null;
              try {
                  bb = s.getBytes(enc);
                  String str = new String(bb,enc);
              } catch (Throwable th){
                  th.printStackTrace(System.err);
              }
          }
      }
      ---------- END SOURCE ----------

            sherman Xueming Shen
            ryeung Roger Yeung (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: