< prev index next >

src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c

Print this page
rev 51963 : 8211317: avoid memory leak in Java_sun_awt_UNIXToolkit_load_1stock_1icon

@@ -181,17 +181,22 @@
     {
         len = (*env)->GetStringUTFLength(env, detail);
         detail_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc,
                 sizeof(char), len + 1);
         if (detail_str == NULL) {
+            free(stock_id_str);
             JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
             return JNI_FALSE;
         }
         (*env)->GetStringUTFRegion(env, detail, 0, len, detail_str);
     }
 
     if (!init_method(env, this) ) {
+        free(stock_id_str);
+        if (detail_str != NULL) {
+            free(detail_str);
+        }
         return JNI_FALSE;
     }
     jboolean result = gtk->get_icon_data(env, widget_type, stock_id_str,
                   icon_size, text_direction, detail_str,
                   icon_upcall_method, this);
< prev index next >