On Wed, 23 Nov 2022 08:18:32 GMT, Matthias Baesken <mbaes...@openjdk.org> wrote:

> Seems there is a remaining GetPrimitiveArrayCritical in imageioJPEG that 
> misses a result - NULL check, this should be added.

Marked as reviewed by jdv (Reviewer).

> Hello , I did a few more grepping and source reading and while 98 or 99 
> percent of the GetPrimitiveArrayCritical return values are checked, there are 
> a few more unchecked ones. See below
> 
> ` src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-136- jint 
> nElements = (*env)->GetArrayLength(env, inTypes); 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-137- 
> NSMutableArray *formatArray = [NSMutableArray arrayWithCapacity:nElements]; 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m:138: jlong 
> *elements = (*env)->GetPrimitiveArrayCritical(env, inTypes, NULL); 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-139- 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-140- for (i = 0; 
> i < nElements; i++) { 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-141- NSString 
> *pbFormat = formatForIndex(elements[i]); 
> src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-142- if 
> (pbFormat) src/java.desktop/macosx/native/libawt_lwawt/awt/CClipboard.m-143- 
> [formatArray addObject:pbFormat];
> 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-54-static
>  inline void 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-55-GetGlyphsFromUnicodes(JNIEnv
>  *env, AWTFont *awtFont, 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-56- 
> jint count, UniChar *unicodes, 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-57- 
> CGGlyph *cgGlyphs, jintArray glyphs) 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-58-{ 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m:59: 
> jint *glyphCodeInts = (*env)->GetPrimitiveArrayCritical(env, glyphs, 0); 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-60- 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-61- 
> CTS_GetGlyphsAsIntsForCharacters(awtFont, unicodes, 
> src/java.desktop/macosx/native/libawt_lwawt/font/CCharToGlyphMapper.m-62- 
> cgGlyphs, glyphCodeInts, count);
> 
> src/java.desktop/macosx/native/libosxui/JRSUIController.m:279: jdouble *rect 
> = (*env)->GetPrimitiveArrayCritical(env, rectArray, NULL); 
> src/java.desktop/macosx/native/libosxui/JRSUIController.m-280- rect[0] = 
> partBounds.origin.x; 
> src/java.desktop/macosx/native/libosxui/JRSUIController.m-281- rect[1] = 
> partBounds.origin.y;
> 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-333-Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeFinishPainting(
>  src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-334- JNIEnv 
> *env, jobject this, jintArray dest, jint width, jint height) 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-335-{ 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-336- jint 
> transparency; 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c:337: gint 
> _buffer = (gint_) (*env)->GetPrimitiveArrayCritical(env, dest, 0); 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-338- 
> gtk->gdk_threads_enter(); 
> src/java.desktop/unix/native/libawt_xawt/awt/swing_GTKEngine.c-339- 
> transparency = gtk->copy_image(buffer, width, height);
> 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp-437- // Copy 
> the resulting pixels to our Java BufferedImage. 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp:438: pDstBits 
> = (int *)env->GetPrimitiveArrayCritical(array, 0); 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp-439- BOOL 
> transparent = FALSE; 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp-440- 
> transparent = IsThemeBackgroundPartiallyTransparentFunc(hTheme, part, state); 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp-441- 
> copyDIBToBufferedImage(pDstBits, pSrcBits, transparent, w, h, stride); 
> src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp-442- 
> env->ReleasePrimitiveArrayCritical(array, pDstBits, 0);
> 
> src/java.desktop/windows/native/libawt/windows/awt_DataTransferer.cpp-164- 
> LOGPALETTE* pLogPalette = 
> src/java.desktop/windows/native/libawt/windows/awt_DataTransferer.cpp:165: 
> (LOGPALETTE*)env->GetPrimitiveArrayCritical(paletteBytes, NULL); 
> src/java.desktop/windows/native/libawt/windows/awt_DataTransferer.cpp-166- 
> PALETTEENTRY* pPalEntries = (PALETTEENTRY*)pLogPalette->palPalEntry;
> 
> src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp:2863: 
> colorsPtr = (jint *)env->GetPrimitiveArrayCritical(colors, 0); 
> src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp-2864- for (int 
> i = 0; i < (sizeof indexMap)/(sizeof *indexMap) && i < colorLen; i++) { 
> src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp-2865- 
> colorsPtr[i] = DesktopColor2RGB(indexMap[i]); 
> src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp-2866- } `
> 
> Should I open another jbs issue for them ?

Sure please create new JBS issue for the same.

-------------

PR: https://git.openjdk.org/jdk/pull/11312

Reply via email to