diff --git a/src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp b/src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp index 0381e828c26..d6a74e9ee2c 100644 --- a/src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp +++ b/src/java.desktop/windows/native/libawt/windows/awt_PrintJob.cpp @@ -4259,6 +4259,12 @@ static BOOL SetPrinterDevice(LPTSTR pszDeviceName, HGLOBAL* p_hDevMode, // Allocate a global handle big enough to hold DEVNAMES. HGLOBAL hDevNames = ::GlobalAlloc(GHND, devNameSize); + if (hDevNames == NULL) { + ::GlobalFree(hDevMode); + ::GlobalFree(p2); + return FALSE; + } + DEVNAMES* pDevNames = (DEVNAMES*)::GlobalLock(hDevNames); // Copy the DEVNAMES information from PRINTER_INFO_2 structure.