changeset 1400:b144685f6694

Merge
author sherman
date Mon, 29 Jun 2009 21:16:01 -0700
parents 1cc9eb0c952e 605d3fa6764e
children 861f23119072 d57c10cf07c5
files
diffstat 3 files changed, 53 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/security/util/DerOutputStream.java	Mon Jun 29 19:57:58 2009 -0700
+++ b/src/share/classes/sun/security/util/DerOutputStream.java	Mon Jun 29 21:16:01 2009 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright 1996-2006 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 1996-2009 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -200,12 +200,12 @@
         // Reduce them to the least number of bytes needed to
         // represent this int
 
-        if (bytes[0] == 0xff) {
+        if (bytes[0] == (byte)0xff) {
 
             // Eliminate redundant 0xff
 
             for (int j = 0; j < 3; j++) {
-                if ((bytes[j] == 0xff) &&
+                if ((bytes[j] == (byte)0xff) &&
                     ((bytes[j+1] & 0x80) == 0x80))
                     start++;
                 else
--- a/src/share/classes/sun/tools/java/RuntimeConstants.java	Mon Jun 29 19:57:58 2009 -0700
+++ b/src/share/classes/sun/tools/java/RuntimeConstants.java	Mon Jun 29 21:16:01 2009 -0700
@@ -67,7 +67,7 @@
     /* Class File Constants */
     int JAVA_MAGIC                   = 0xcafebabe;
     int JAVA_MIN_SUPPORTED_VERSION   = 45;
-    int JAVA_MAX_SUPPORTED_VERSION   = 50;
+    int JAVA_MAX_SUPPORTED_VERSION   = 51;
     int JAVA_MAX_SUPPORTED_MINOR_VERSION = 0;
 
     /* Generate class file version for 1.1  by default */
@@ -304,7 +304,7 @@
     int opc_invokespecial            = 183;
     int opc_invokestatic             = 184;
     int opc_invokeinterface          = 185;
-    int opc_xxxunusedxxx             = 186;
+    int opc_invokedynamic            = 186;
     int opc_new                      = 187;
     int opc_newarray                 = 188;
     int opc_anewarray                = 189;
@@ -510,7 +510,7 @@
         "invokespecial",
         "invokestatic",
         "invokeinterface",
-        "xxxunusedxxx",
+        "invokedynamic",
         "new",
         "newarray",
         "anewarray",
@@ -717,7 +717,7 @@
         3,
         3,
         5,
-        0,
+        5,
         3,
         2,
         3,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/util/DerValue/NegInt.java	Mon Jun 29 21:16:01 2009 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6855671
+ * @summary DerOutputStream encodes negative integer incorrectly
+ */
+import sun.security.util.DerOutputStream;
+
+public class NegInt {
+
+    public static void main(String[] args) throws Exception {
+        DerOutputStream out;
+        out = new DerOutputStream();
+        out.putInteger(-128);
+        if(out.toByteArray().length != 3) {
+            throw new Exception("-128 encode error");
+        }
+        out = new DerOutputStream();
+        out.putInteger(-129);
+        if(out.toByteArray().length != 4) {
+            throw new Exception("-129 encode error");
+        }
+    }
+}