Skip to content

Commit 9a26728

Browse files
committed
add 4 checks for NewWeakGlobalRef() returning NULL
1 parent cdfc463 commit 9a26728

File tree

4 files changed

+5
-1
lines changed

4 files changed

+5
-1
lines changed

src/main/native/glue/com_jme3_bullet_MultiBody.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ JNIEXPORT jlong JNICALL Java_com_jme3_bullet_MultiBody_create
140140
jmeUserPointer const pUser = new jmeUserInfo(); //dance005
141141
pUser->m_javaRef = pEnv->NewWeakGlobalRef(object); //dance039
142142
EXCEPTION_CHK(pEnv, 0);
143+
NULL_CHK(pEnv, pUser->m_javaRef, "unable to make reference global", 0)
143144
pUser->m_group = 0x1;
144145
pUser->m_groups = 0x1;
145146
pUser->m_jmeSpace = NULL;

src/main/native/glue/com_jme3_bullet_collision_PhysicsCollisionObject.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,7 @@ JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_ini
747747
pUser->m_jmeSpace = NULL;
748748
pUser->m_javaRef = pEnv->NewWeakGlobalRef(object); //dance041
749749
// no check for exceptions!
750+
NULL_CHK(pEnv, pUser->m_javaRef, "unable to make reference global",)
750751
}
751752

752753
/*

src/main/native/glue/com_jme3_bullet_collision_shapes_CustomConvexShape.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024 jMonkeyEngine
2+
* Copyright (c) 2024-2026 jMonkeyEngine
33
* All rights reserved.
44
*
55
* Redistribution and use in source and binary forms, with or without
@@ -175,6 +175,7 @@ JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CustomConvexShape_
175175

176176
jweak javaShapeRef = pEnv->NewWeakGlobalRef(javaShape); // TODO leak
177177
EXCEPTION_CHK(pEnv, 0);
178+
NULL_CHK(pEnv, javaShapeRef, "unable to make reference global", 0)
178179

179180
jmeConvexShape *pShape;
180181
if (heVector == NULL) {

src/main/native/glue/jmeCollisionSpace.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ jmeCollisionSpace::jmeCollisionSpace(JNIEnv *pEnv, jobject javaSpace) {
107107

108108
m_javaSpace = pEnv->NewWeakGlobalRef(javaSpace); // TODO leak
109109
EXCEPTION_CHK(pEnv,);
110+
NULL_CHK(pEnv, m_javaSpace, "unable to make reference global",)
110111
}
111112

112113
void jmeCollisionSpace::attachThread() {

0 commit comments

Comments
 (0)