# HG changeset patch # User mbaesken # Date 1527840761 -7200 # Fri Jun 01 10:12:41 2018 +0200 # Node ID 6f03a06877198e1801bf3992fafe165c2b7ebbd0 # Parent 8fbbd19bf3a152e302784684ad2a9ce88f137601 8204211: windows : handle potential C++ exception in GDIRenderer diff --git a/src/java.desktop/windows/native/libawt/java2d/windows/GDIRenderer.cpp b/src/java.desktop/windows/native/libawt/java2d/windows/GDIRenderer.cpp --- a/src/java.desktop/windows/native/libawt/java2d/windows/GDIRenderer.cpp +++ b/src/java.desktop/windows/native/libawt/java2d/windows/GDIRenderer.cpp @@ -85,7 +85,11 @@ *pNpoints = outpoints; } if (outpoints > POLYTEMPSIZE) { - pPoints = (POINT *) SAFE_SIZE_ARRAY_ALLOC(safe_Malloc, sizeof(POINT), outpoints); + try { + pPoints = (POINT *) SAFE_SIZE_ARRAY_ALLOC(safe_Malloc, sizeof(POINT), outpoints); + } catch (std::bad_alloc&) { + return NULL; + } } BOOL isempty = fixend; for (int i = 0; i < npoints; i++) {