8013454: [parfait] Memory leak in jdk/src/windows/native/sun/windows/awt_Cursor.cpp

8012079: [parfait] possible null pointer dereference in jdk/src/windows/native/sun/windows/awt_Font.cpp

Reviewed-by: art, serb
This commit is contained in:
Petr Pchelko 2013-08-14 16:17:28 +04:00
parent d2e96c4350
commit 6a28f9e6fb
2 changed files with 15 additions and 3 deletions

View File

@ -391,9 +391,16 @@ Java_sun_awt_windows_WCustomCursor_createCursorIndirect(
DASSERT(hCursor); DASSERT(hCursor);
try {
AwtCursor::setPData(self, ptr_to_jlong(new AwtCursor(env, hCursor, self, xHotSpot, AwtCursor::setPData(self, ptr_to_jlong(new AwtCursor(env, hCursor, self, xHotSpot,
yHotSpot, nW, nH, nSS, cols, yHotSpot, nW, nH, nSS, cols,
(BYTE *)andMaskPtr))); (BYTE *)andMaskPtr)));
} catch (...) {
if (cols) {
delete[] cols;
}
throw;
}
CATCH_BAD_ALLOC; CATCH_BAD_ALLOC;
} }

View File

@ -510,6 +510,11 @@ void AwtFont::LoadMetrics(JNIEnv *env, jobject fontMetrics)
jobject font = env->GetObjectField(fontMetrics, AwtFont::fontID); jobject font = env->GetObjectField(fontMetrics, AwtFont::fontID);
AwtFont* awtFont = AwtFont::GetFont(env, font); AwtFont* awtFont = AwtFont::GetFont(env, font);
if (!awtFont) {
/* failed to get font */
return;
}
HDC hDC = ::GetDC(0); HDC hDC = ::GetDC(0);
DASSERT(hDC != NULL); DASSERT(hDC != NULL);