< prev index next >

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

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2004, 2018, Oracle and/or its affiliates. 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. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2004, 2019, Oracle and/or its affiliates. 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. Oracle designates this
*** 111,140 **** Java_sun_awt_UNIXToolkit_load_1gtk_1icon(JNIEnv *env, jobject this, jstring filename) { #ifndef HEADLESS int len; char *filename_str = NULL; GError **error = NULL; if (filename == NULL) { return JNI_FALSE; } len = (*env)->GetStringUTFLength(env, filename); filename_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc, sizeof(char), len + 1); if (filename_str == NULL) { JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError"); return JNI_FALSE; } if (!init_method(env, this) ) { free(filename_str); return JNI_FALSE; } ! (*env)->GetStringUTFRegion(env, filename, 0, len, filename_str); jboolean result = gtk->get_file_icon_data(env, filename_str, error, icon_upcall_method, this); /* Release the strings we've allocated. */ free(filename_str); --- 111,142 ---- Java_sun_awt_UNIXToolkit_load_1gtk_1icon(JNIEnv *env, jobject this, jstring filename) { #ifndef HEADLESS int len; + jsize jlen; char *filename_str = NULL; GError **error = NULL; if (filename == NULL) { return JNI_FALSE; } len = (*env)->GetStringUTFLength(env, filename); + jlen = (*env)->GetStringLength(env, filename); filename_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc, sizeof(char), len + 1); if (filename_str == NULL) { JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError"); return JNI_FALSE; } if (!init_method(env, this) ) { free(filename_str); return JNI_FALSE; } ! (*env)->GetStringUTFRegion(env, filename, 0, jlen, filename_str); jboolean result = gtk->get_file_icon_data(env, filename_str, error, icon_upcall_method, this); /* Release the strings we've allocated. */ free(filename_str);
*** 157,196 **** jint widget_type, jstring stock_id, jint icon_size, jint text_direction, jstring detail) { #ifndef HEADLESS int len; char *stock_id_str = NULL; char *detail_str = NULL; jboolean result = JNI_FALSE; if (stock_id == NULL) { return JNI_FALSE; } len = (*env)->GetStringUTFLength(env, stock_id); stock_id_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc, sizeof(char), len + 1); if (stock_id_str == NULL) { JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError"); return JNI_FALSE; } ! (*env)->GetStringUTFRegion(env, stock_id, 0, len, stock_id_str); /* Detail isn't required so check for NULL. */ if (detail != NULL) { 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)) { result = gtk->get_icon_data(env, widget_type, stock_id_str, icon_size, text_direction, detail_str, --- 159,201 ---- jint widget_type, jstring stock_id, jint icon_size, jint text_direction, jstring detail) { #ifndef HEADLESS int len; + jsize jlen; char *stock_id_str = NULL; char *detail_str = NULL; jboolean result = JNI_FALSE; if (stock_id == NULL) { return JNI_FALSE; } len = (*env)->GetStringUTFLength(env, stock_id); + jlen = (*env)->GetStringLength(env, stock_id); stock_id_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc, sizeof(char), len + 1); if (stock_id_str == NULL) { JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError"); return JNI_FALSE; } ! (*env)->GetStringUTFRegion(env, stock_id, 0, jlen, stock_id_str); /* Detail isn't required so check for NULL. */ if (detail != NULL) { len = (*env)->GetStringUTFLength(env, detail); + jlen = (*env)->GetStringLength(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, jlen, detail_str); } if (init_method(env, this)) { result = gtk->get_icon_data(env, widget_type, stock_id_str, icon_size, text_direction, detail_str,
< prev index next >