Merge
authorlana
Wed, 13 Feb 2013 13:01:16 -0800
changeset 15631 ad9db22b3490
parent 15630 f644cf0bda45 (diff)
parent 15572 d17eb2e13e36 (current diff)
child 15632 3d36eadad78f
Merge
hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java
hotspot/make/solaris/makefiles/kernel.make
hotspot/test/runtime/7158988/TestFieldMonitor.sh
jdk/src/share/classes/java/lang/annotation/ContainedBy.java
jdk/src/share/classes/java/lang/annotation/ContainerFor.java
jdk/test/java/net/URL/abnormal_http_urls
jdk/test/java/net/URL/ftp_urls
jdk/test/java/net/URL/jar_urls
jdk/test/java/net/URL/normal_http_urls
jdk/test/java/net/URL/runconstructor.sh
jdk/test/java/net/URL/share_file_urls
jdk/test/java/net/URL/win32_file_urls
jdk/test/sun/net/www/EncDec.doc
jdk/test/sun/net/www/MarkResetTest.java
jdk/test/sun/net/www/MarkResetTest.sh
jdk/test/sun/security/util/Oid/S11N.sh
jdk/test/sun/security/util/Oid/SerialTest.java
--- a/jdk/src/macosx/native/jobjc/src/core/native/SEL.m	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/macosx/native/jobjc/src/core/native/SEL.m	Wed Feb 13 13:01:16 2013 -0800
@@ -34,7 +34,7 @@
     const char *selNameAsChars = (*env)->GetStringUTFChars(env, selName, JNI_FALSE);
     const SEL sel = sel_registerName(selNameAsChars);
     (*env)->ReleaseStringUTFChars(env, selName, selNameAsChars);
-    return ptr_to_jlong(sel);
+    return ptr_to_jlong((void*)sel);
 }
 
 JNIEXPORT jstring JNICALL Java_com_apple_jobjc_SEL_getSelectorName
--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	Wed Feb 13 13:01:16 2013 -0800
@@ -2694,6 +2694,11 @@
             scale[i] = (UINT8*) malloc((maxBandValue + 1) * sizeof(UINT8));
 
             if (scale[i] == NULL) {
+                // Cleanup before throwing an out of memory exception
+                for (j = 0; j < i; j++) {
+                    free(scale[j]);
+                }
+                free(scale);
                 JNU_ThrowByName( env, "java/lang/OutOfMemoryError",
                                  "Writing JPEG Stream");
                 return JNI_FALSE;
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h	Wed Feb 13 13:01:16 2013 -0800
@@ -31,6 +31,16 @@
 extern "C" {
 #endif /* __cplusplus */
 
+// Shared macro defined for cleanup of allocated memory.
+#ifndef FREE_AND_RETURN_STATUS
+#define FREE_AND_RETURN_STATUS \
+{ \
+if (pbuff != buff) mlib_free(pbuff); \
+if (k != akernel) mlib_free(k); \
+return status; \
+}
+#endif /* FREE_AND_RETURN_STATUS */
+
 void mlib_ImageXor80_aa(mlib_u8  *dl,
                         mlib_s32 wid,
                         mlib_s32 hgt,
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c	Wed Feb 13 13:01:16 2013 -0800
@@ -253,8 +253,10 @@
   if (mn > 256) {
     dkernel = mlib_malloc(mn * sizeof(mlib_d64));
 
-    if (dkernel == NULL)
+    if (dkernel == NULL) {
+      if (dsa != dspace) mlib_free(dsa);
       return MLIB_FAILURE;
+    }
   }
 
   while (scale > 30) {
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1886,6 +1886,8 @@
   d64_2x32 dd;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1905,7 +1907,10 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   swid = wid + (m - 1);
 
@@ -1914,7 +1919,10 @@
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2318,9 +2326,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1653,6 +1653,8 @@
   mlib_s32 *buffo, *buffi;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1672,14 +1674,20 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   bsize = (n + 3)*wid;
 
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2033,9 +2041,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1160,6 +1160,8 @@
   DEF_VARS_MxN(mlib_s32);
   mlib_s32 chan2 = chan1 + chan1;
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1179,14 +1181,20 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   bsize = (n + 2)*wid;
 
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(mlib_d64)*bsize + sizeof(mlib_d64*)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (mlib_d64**)(pbuff + bsize);
   }
 
@@ -1531,9 +1539,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1886,6 +1886,8 @@
   d64_2x32 dd;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1905,7 +1907,10 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   swid = wid + (m - 1);
 
@@ -1914,7 +1919,10 @@
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2318,9 +2326,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1654,6 +1654,8 @@
   mlib_s32 *buffo, *buffi;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1673,14 +1675,20 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   bsize = (n + 3)*wid;
 
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2034,9 +2042,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1886,6 +1886,8 @@
   d64_2x32 dd;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1905,7 +1907,10 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN_ext(dst, src, k, n, dy_t, dy_b, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   swid = wid + (m - 1);
 
@@ -1914,7 +1919,10 @@
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2318,9 +2326,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c	Wed Feb 13 13:01:16 2013 -0800
@@ -1653,6 +1653,8 @@
   mlib_s32 *buffo, *buffi;
   GET_SRC_DST_PARAMETERS(DTYPE);
 
+  mlib_status status = MLIB_SUCCESS;
+
   if (scale > 30) {
     fscale *= 1.0/(1 << 30);
     scale -= 30;
@@ -1672,14 +1674,20 @@
     k[i] = kernel[i]*fscale;
   }
 
-  if (m == 1) return mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+  if (m == 1) {
+    status = mlib_ImageConv1xN(dst, src, k, n, dn, cmask);
+    FREE_AND_RETURN_STATUS;
+  }
 
   bsize = (n + 3)*wid;
 
   if ((bsize > BUFF_SIZE) || (n > MAX_N)) {
     pbuff = mlib_malloc(sizeof(FTYPE)*bsize + sizeof(FTYPE *)*2*(n + 1));
 
-    if (pbuff == NULL) return MLIB_FAILURE;
+    if (pbuff == NULL) {
+      status = MLIB_FAILURE;
+      FREE_AND_RETURN_STATUS;
+    }
     buffs = (FTYPE   **)(pbuff + bsize);
   }
 
@@ -2033,9 +2041,7 @@
     }
   }
 
-  if (pbuff != buff) mlib_free(pbuff);
-
-  return MLIB_SUCCESS;
+  FREE_AND_RETURN_STATUS;
 }
 
 /***************************************************************/
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c	Wed Feb 13 13:01:16 2013 -0800
@@ -477,9 +477,9 @@
   im_height = mlib_ImageGetHeight(img);
   im_stride = mlib_ImageGetStride(img);
   tline     = mlib_ImageGetData(img);
+  if (tline == NULL) return NULL;
   rtable    = mlib_malloc((3 + im_height)*sizeof(mlib_u8 *));
-
-  if (rtable == NULL || tline == NULL) return NULL;
+  if (rtable == NULL) return NULL;
 
   rtable[0] = 0;
   rtable[1] = (mlib_u8*)((void **)rtable + 1);
--- a/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h	Wed Feb 13 13:01:16 2013 -0800
@@ -31,6 +31,16 @@
 extern "C" {
 #endif /* __cplusplus */
 
+// Shared macro defined for cleanup of allocated memory.
+#ifndef FREE_AND_RETURN_STATUS
+#define FREE_AND_RETURN_STATUS \
+{ \
+if (pbuff != buff) mlib_free(pbuff); \
+if (k != akernel) mlib_free(k); \
+return status; \
+}
+#endif /* FREE_AND_RETURN_STATUS */
+
 mlib_status mlib_c_conv2x2ext_s16(mlib_image       *dst,
                                   const mlib_image *src,
                                   mlib_s32         dx_l,
--- a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c	Wed Jul 05 18:40:20 2017 +0200
+++ b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c	Wed Feb 13 13:01:16 2013 -0800
@@ -57,22 +57,23 @@
                                               jobject peer, jlong aData)
 {
 #ifndef HEADLESS
-    OGLSDOps *oglsdo = (OGLSDOps *)SurfaceData_InitOps(env, glxsd,
-                                                       sizeof(OGLSDOps));
     GLXSDOps *glxsdo = (GLXSDOps *)malloc(sizeof(GLXSDOps));
 
-    J2dTraceLn(J2D_TRACE_INFO, "GLXSurfaceData_initOps");
-
-    if (oglsdo == NULL) {
-        JNU_ThrowOutOfMemoryError(env, "Initialization of SurfaceData failed.");
-        return;
-    }
-
     if (glxsdo == NULL) {
         JNU_ThrowOutOfMemoryError(env, "creating native GLX ops");
         return;
     }
 
+    OGLSDOps *oglsdo = (OGLSDOps *)SurfaceData_InitOps(env, glxsd,
+                                                       sizeof(OGLSDOps));
+    if (oglsdo == NULL) {
+        free(glxsdo);
+        JNU_ThrowOutOfMemoryError(env, "Initialization of SurfaceData failed.");
+        return;
+    }
+
+    J2dTraceLn(J2D_TRACE_INFO, "GLXSurfaceData_initOps");
+
     oglsdo->privOps = glxsdo;
 
     oglsdo->sdOps.Lock       = OGLSD_Lock;