Skip to content

Commit 1cb9070

Browse files
committed
fix(jni): prevent using uninitialized jni service
We're not checking whether m_javaJniServiceInstance is null in handling on<Property>Changed. Make sure we check for null safety.
1 parent f93e6ef commit 1cb9070

25 files changed

Lines changed: 75 additions & 75 deletions

File tree

goldenmaster/Plugins/Counter/Source/CounterJni/Private/Generated/Jni/CounterCounterJniAdapter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ void UCounterCounterJniAdapter::OnVectorChanged(const FCustomTypesVector3D& Vect
327327
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
328328
{
329329
auto Cache = UCounterCounterJniAdapterCache::Get();
330-
if (!Cache)
330+
if (!Cache || m_javaJniServiceInstance == nullptr)
331331
{
332332
UE_LOG(LogCounterCounter_JNI, Warning, TEXT("counter/counterjniservice/CounterJniService::onVectorChanged(LcustomTypes/customTypes_api/Vector3D;)V CLASS not found"));
333333
return;
@@ -354,7 +354,7 @@ void UCounterCounterJniAdapter::OnExternVectorChanged(const FVector& ExternVecto
354354
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
355355
{
356356
auto Cache = UCounterCounterJniAdapterCache::Get();
357-
if (!Cache)
357+
if (!Cache || m_javaJniServiceInstance == nullptr)
358358
{
359359
UE_LOG(LogCounterCounter_JNI, Warning, TEXT("counter/counterjniservice/CounterJniService::onExternVectorChanged(Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V CLASS not found"));
360360
return;
@@ -381,7 +381,7 @@ void UCounterCounterJniAdapter::OnVectorArrayChanged(const TArray<FCustomTypesVe
381381
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
382382
{
383383
auto Cache = UCounterCounterJniAdapterCache::Get();
384-
if (!Cache)
384+
if (!Cache || m_javaJniServiceInstance == nullptr)
385385
{
386386
UE_LOG(LogCounterCounter_JNI, Warning, TEXT("counter/counterjniservice/CounterJniService::onVectorArrayChanged([LcustomTypes/customTypes_api/Vector3D;)V CLASS not found"));
387387
return;
@@ -408,7 +408,7 @@ void UCounterCounterJniAdapter::OnExternVectorArrayChanged(const TArray<FVector>
408408
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
409409
{
410410
auto Cache = UCounterCounterJniAdapterCache::Get();
411-
if (!Cache)
411+
if (!Cache || m_javaJniServiceInstance == nullptr)
412412
{
413413
UE_LOG(LogCounterCounter_JNI, Warning, TEXT("counter/counterjniservice/CounterJniService::onExternVectorArrayChanged([Lorg/apache/commons/math3/geometry/euclidean/threed/Vector3D;)V CLASS not found"));
414414
return;

goldenmaster/Plugins/TbEnum/Source/TbEnumJni/Private/Generated/Jni/TbEnumEnumInterfaceJniAdapter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ void UTbEnumEnumInterfaceJniAdapter::OnProp0Changed(ETbEnumEnum0 Prop0)
424424
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
425425
{
426426
auto Cache = UTbEnumEnumInterfaceJniAdapterCache::Get();
427-
if (!Cache)
427+
if (!Cache || m_javaJniServiceInstance == nullptr)
428428
{
429429
UE_LOG(LogTbEnumEnumInterface_JNI, Warning, TEXT("tbEnum/tbEnumjniservice/EnumInterfaceJniService::onProp0Changed(LtbEnum/tbEnum_api/Enum0;)V CLASS not found"));
430430
return;
@@ -450,7 +450,7 @@ void UTbEnumEnumInterfaceJniAdapter::OnProp1Changed(ETbEnumEnum1 Prop1)
450450
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
451451
{
452452
auto Cache = UTbEnumEnumInterfaceJniAdapterCache::Get();
453-
if (!Cache)
453+
if (!Cache || m_javaJniServiceInstance == nullptr)
454454
{
455455
UE_LOG(LogTbEnumEnumInterface_JNI, Warning, TEXT("tbEnum/tbEnumjniservice/EnumInterfaceJniService::onProp1Changed(LtbEnum/tbEnum_api/Enum1;)V CLASS not found"));
456456
return;
@@ -476,7 +476,7 @@ void UTbEnumEnumInterfaceJniAdapter::OnProp2Changed(ETbEnumEnum2 Prop2)
476476
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
477477
{
478478
auto Cache = UTbEnumEnumInterfaceJniAdapterCache::Get();
479-
if (!Cache)
479+
if (!Cache || m_javaJniServiceInstance == nullptr)
480480
{
481481
UE_LOG(LogTbEnumEnumInterface_JNI, Warning, TEXT("tbEnum/tbEnumjniservice/EnumInterfaceJniService::onProp2Changed(LtbEnum/tbEnum_api/Enum2;)V CLASS not found"));
482482
return;
@@ -502,7 +502,7 @@ void UTbEnumEnumInterfaceJniAdapter::OnProp3Changed(ETbEnumEnum3 Prop3)
502502
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
503503
{
504504
auto Cache = UTbEnumEnumInterfaceJniAdapterCache::Get();
505-
if (!Cache)
505+
if (!Cache || m_javaJniServiceInstance == nullptr)
506506
{
507507
UE_LOG(LogTbEnumEnumInterface_JNI, Warning, TEXT("tbEnum/tbEnumjniservice/EnumInterfaceJniService::onProp3Changed(LtbEnum/tbEnum_api/Enum3;)V CLASS not found"));
508508
return;

goldenmaster/Plugins/TbNames/Source/TbNamesJni/Private/Generated/Jni/TbNamesNamEsJniAdapter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ void UTbNamesNamEsJniAdapter::OnSwitchChanged(bool bSwitch)
350350
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
351351
{
352352
auto Cache = UTbNamesNamEsJniAdapterCache::Get();
353-
if (!Cache)
353+
if (!Cache || m_javaJniServiceInstance == nullptr)
354354
{
355355
UE_LOG(LogTbNamesNamEs_JNI, Warning, TEXT("tbNames/tbNamesjniservice/NamEsJniService::onSwitchChanged(Z)V CLASS not found"));
356356
return;
@@ -375,7 +375,7 @@ void UTbNamesNamEsJniAdapter::OnSomePropertyChanged(int32 SomeProperty)
375375
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
376376
{
377377
auto Cache = UTbNamesNamEsJniAdapterCache::Get();
378-
if (!Cache)
378+
if (!Cache || m_javaJniServiceInstance == nullptr)
379379
{
380380
UE_LOG(LogTbNamesNamEs_JNI, Warning, TEXT("tbNames/tbNamesjniservice/NamEsJniService::onSomePropertyChanged(I)V CLASS not found"));
381381
return;
@@ -400,7 +400,7 @@ void UTbNamesNamEsJniAdapter::OnSomePoperty2Changed(int32 SomePoperty2)
400400
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
401401
{
402402
auto Cache = UTbNamesNamEsJniAdapterCache::Get();
403-
if (!Cache)
403+
if (!Cache || m_javaJniServiceInstance == nullptr)
404404
{
405405
UE_LOG(LogTbNamesNamEs_JNI, Warning, TEXT("tbNames/tbNamesjniservice/NamEsJniService::onSomePoperty2Changed(I)V CLASS not found"));
406406
return;
@@ -425,7 +425,7 @@ void UTbNamesNamEsJniAdapter::OnEnumPropertyChanged(ETbNamesEnum_With_Under_scor
425425
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
426426
{
427427
auto Cache = UTbNamesNamEsJniAdapterCache::Get();
428-
if (!Cache)
428+
if (!Cache || m_javaJniServiceInstance == nullptr)
429429
{
430430
UE_LOG(LogTbNamesNamEs_JNI, Warning, TEXT("tbNames/tbNamesjniservice/NamEsJniService::onEnumPropertyChanged(LtbNames/tbNames_api/EnumWithUnderScores;)V CLASS not found"));
431431
return;

goldenmaster/Plugins/TbRefIfaces/Source/TbRefIfacesJni/Private/Generated/Jni/TbRefIfacesParentIfJniAdapter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ void UTbRefIfacesParentIfJniAdapter::OnLocalIfChanged(const TScriptInterface<ITb
430430
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
431431
{
432432
auto Cache = UTbRefIfacesParentIfJniAdapterCache::Get();
433-
if (!Cache)
433+
if (!Cache || m_javaJniServiceInstance == nullptr)
434434
{
435435
UE_LOG(LogTbRefIfacesParentIf_JNI, Warning, TEXT("tbRefIfaces/tbRefIfacesjniservice/ParentIfJniService::onLocalIfChanged(LtbRefIfaces/tbRefIfaces_api/ISimpleLocalIf;)V CLASS not found"));
436436
return;
@@ -459,7 +459,7 @@ void UTbRefIfacesParentIfJniAdapter::OnLocalIfListChanged(const TArray<TScriptIn
459459
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
460460
{
461461
auto Cache = UTbRefIfacesParentIfJniAdapterCache::Get();
462-
if (!Cache)
462+
if (!Cache || m_javaJniServiceInstance == nullptr)
463463
{
464464
UE_LOG(LogTbRefIfacesParentIf_JNI, Warning, TEXT("tbRefIfaces/tbRefIfacesjniservice/ParentIfJniService::onLocalIfListChanged([LtbRefIfaces/tbRefIfaces_api/ISimpleLocalIf;)V CLASS not found"));
465465
return;
@@ -488,7 +488,7 @@ void UTbRefIfacesParentIfJniAdapter::OnImportedIfChanged(const TScriptInterface<
488488
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
489489
{
490490
auto Cache = UTbRefIfacesParentIfJniAdapterCache::Get();
491-
if (!Cache)
491+
if (!Cache || m_javaJniServiceInstance == nullptr)
492492
{
493493
UE_LOG(LogTbRefIfacesParentIf_JNI, Warning, TEXT("tbRefIfaces/tbRefIfacesjniservice/ParentIfJniService::onImportedIfChanged(LtbIfaceimport/tbIfaceimport_api/IEmptyIf;)V CLASS not found"));
494494
return;
@@ -517,7 +517,7 @@ void UTbRefIfacesParentIfJniAdapter::OnImportedIfListChanged(const TArray<TScrip
517517
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
518518
{
519519
auto Cache = UTbRefIfacesParentIfJniAdapterCache::Get();
520-
if (!Cache)
520+
if (!Cache || m_javaJniServiceInstance == nullptr)
521521
{
522522
UE_LOG(LogTbRefIfacesParentIf_JNI, Warning, TEXT("tbRefIfaces/tbRefIfacesjniservice/ParentIfJniService::onImportedIfListChanged([LtbIfaceimport/tbIfaceimport_api/IEmptyIf;)V CLASS not found"));
523523
return;

goldenmaster/Plugins/TbRefIfaces/Source/TbRefIfacesJni/Private/Generated/Jni/TbRefIfacesSimpleLocalIfJniAdapter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ void UTbRefIfacesSimpleLocalIfJniAdapter::OnIntPropertyChanged(int32 IntProperty
297297
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
298298
{
299299
auto Cache = UTbRefIfacesSimpleLocalIfJniAdapterCache::Get();
300-
if (!Cache)
300+
if (!Cache || m_javaJniServiceInstance == nullptr)
301301
{
302302
UE_LOG(LogTbRefIfacesSimpleLocalIf_JNI, Warning, TEXT("tbRefIfaces/tbRefIfacesjniservice/SimpleLocalIfJniService::onIntPropertyChanged(I)V CLASS not found"));
303303
return;

goldenmaster/Plugins/TbSame1/Source/TbSame1Jni/Private/Generated/Jni/TbSame1SameEnum1InterfaceJniAdapter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ void UTbSame1SameEnum1InterfaceJniAdapter::OnProp1Changed(ETbSame1Enum1 Prop1)
298298
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
299299
{
300300
auto Cache = UTbSame1SameEnum1InterfaceJniAdapterCache::Get();
301-
if (!Cache)
301+
if (!Cache || m_javaJniServiceInstance == nullptr)
302302
{
303303
UE_LOG(LogTbSame1SameEnum1Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameEnum1InterfaceJniService::onProp1Changed(LtbSame1/tbSame1_api/Enum1;)V CLASS not found"));
304304
return;

goldenmaster/Plugins/TbSame1/Source/TbSame1Jni/Private/Generated/Jni/TbSame1SameEnum2InterfaceJniAdapter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ void UTbSame1SameEnum2InterfaceJniAdapter::OnProp1Changed(ETbSame1Enum1 Prop1)
342342
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
343343
{
344344
auto Cache = UTbSame1SameEnum2InterfaceJniAdapterCache::Get();
345-
if (!Cache)
345+
if (!Cache || m_javaJniServiceInstance == nullptr)
346346
{
347347
UE_LOG(LogTbSame1SameEnum2Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameEnum2InterfaceJniService::onProp1Changed(LtbSame1/tbSame1_api/Enum1;)V CLASS not found"));
348348
return;
@@ -368,7 +368,7 @@ void UTbSame1SameEnum2InterfaceJniAdapter::OnProp2Changed(ETbSame1Enum2 Prop2)
368368
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
369369
{
370370
auto Cache = UTbSame1SameEnum2InterfaceJniAdapterCache::Get();
371-
if (!Cache)
371+
if (!Cache || m_javaJniServiceInstance == nullptr)
372372
{
373373
UE_LOG(LogTbSame1SameEnum2Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameEnum2InterfaceJniService::onProp2Changed(LtbSame1/tbSame1_api/Enum2;)V CLASS not found"));
374374
return;

goldenmaster/Plugins/TbSame1/Source/TbSame1Jni/Private/Generated/Jni/TbSame1SameStruct1InterfaceJniAdapter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ void UTbSame1SameStruct1InterfaceJniAdapter::OnProp1Changed(const FTbSame1Struct
298298
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
299299
{
300300
auto Cache = UTbSame1SameStruct1InterfaceJniAdapterCache::Get();
301-
if (!Cache)
301+
if (!Cache || m_javaJniServiceInstance == nullptr)
302302
{
303303
UE_LOG(LogTbSame1SameStruct1Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameStruct1InterfaceJniService::onProp1Changed(LtbSame1/tbSame1_api/Struct1;)V CLASS not found"));
304304
return;

goldenmaster/Plugins/TbSame1/Source/TbSame1Jni/Private/Generated/Jni/TbSame1SameStruct2InterfaceJniAdapter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ void UTbSame1SameStruct2InterfaceJniAdapter::OnProp1Changed(const FTbSame1Struct
342342
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
343343
{
344344
auto Cache = UTbSame1SameStruct2InterfaceJniAdapterCache::Get();
345-
if (!Cache)
345+
if (!Cache || m_javaJniServiceInstance == nullptr)
346346
{
347347
UE_LOG(LogTbSame1SameStruct2Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameStruct2InterfaceJniService::onProp1Changed(LtbSame1/tbSame1_api/Struct2;)V CLASS not found"));
348348
return;
@@ -369,7 +369,7 @@ void UTbSame1SameStruct2InterfaceJniAdapter::OnProp2Changed(const FTbSame1Struct
369369
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
370370
{
371371
auto Cache = UTbSame1SameStruct2InterfaceJniAdapterCache::Get();
372-
if (!Cache)
372+
if (!Cache || m_javaJniServiceInstance == nullptr)
373373
{
374374
UE_LOG(LogTbSame1SameStruct2Interface_JNI, Warning, TEXT("tbSame1/tbSame1jniservice/SameStruct2InterfaceJniService::onProp2Changed(LtbSame1/tbSame1_api/Struct2;)V CLASS not found"));
375375
return;

goldenmaster/Plugins/TbSame2/Source/TbSame2Jni/Private/Generated/Jni/TbSame2SameEnum1InterfaceJniAdapter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ void UTbSame2SameEnum1InterfaceJniAdapter::OnProp1Changed(ETbSame2Enum1 Prop1)
298298
if (JNIEnv* Env = FAndroidApplication::GetJavaEnv())
299299
{
300300
auto Cache = UTbSame2SameEnum1InterfaceJniAdapterCache::Get();
301-
if (!Cache)
301+
if (!Cache || m_javaJniServiceInstance == nullptr)
302302
{
303303
UE_LOG(LogTbSame2SameEnum1Interface_JNI, Warning, TEXT("tbSame2/tbSame2jniservice/SameEnum1InterfaceJniService::onProp1Changed(LtbSame2/tbSame2_api/Enum1;)V CLASS not found"));
304304
return;

0 commit comments

Comments
 (0)