|
1 | 1 | /*
|
2 |
| - * Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
4 | 4 | *
|
5 | 5 | * This code is free software; you can redistribute it and/or modify it
|
@@ -296,19 +296,19 @@ static jboolean MTLSurfaceData_initTexture(BMTLSDOps *bmtlsdo, jboolean isOpaque
|
296 | 296 | BMTLSDOps *bmtlsdo = (BMTLSDOps *)SurfaceData_InitOps(env, mtlsd, sizeof(BMTLSDOps));
|
297 | 297 | MTLSDOps *mtlsdo = (MTLSDOps *)malloc(sizeof(MTLSDOps));
|
298 | 298 |
|
| 299 | + if (mtlsdo == NULL) { |
| 300 | + JNU_ThrowOutOfMemoryError(env, "Initialization of SurfaceData failed."); |
| 301 | + return; |
| 302 | + } |
| 303 | + |
299 | 304 | J2dTraceLn1(J2D_TRACE_INFO, "MTLSurfaceData_initOps p=%p", bmtlsdo);
|
300 | 305 | J2dTraceLn1(J2D_TRACE_INFO, " pPeerData=%p", jlong_to_ptr(pPeerData));
|
301 | 306 | J2dTraceLn1(J2D_TRACE_INFO, " layerPtr=%p", jlong_to_ptr(layerPtr));
|
302 | 307 | J2dTraceLn2(J2D_TRACE_INFO, " xoff=%d, yoff=%d", (int)xoff, (int)yoff);
|
303 | 308 |
|
304 | 309 | gc = (*env)->NewGlobalRef(env, gc);
|
305 | 310 | if (gc == NULL) {
|
306 |
| - JNU_ThrowOutOfMemoryError(env, "Initialization of SurfaceData failed."); |
307 |
| - return; |
308 |
| - } |
309 |
| - |
310 |
| - if (mtlsdo == NULL) { |
311 |
| - (*env)->DeleteGlobalRef(env, gc); |
| 311 | + free(mtlsdo); |
312 | 312 | JNU_ThrowOutOfMemoryError(env, "Initialization of SurfaceData failed.");
|
313 | 313 | return;
|
314 | 314 | }
|
|
0 commit comments