Skip to content

Commit 5fb0a76

Browse files
committed
fix: jstring null safety
1 parent b4d4a2c commit 5fb0a76

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

dart_native/android/src/main/jni/dart_native.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,8 @@ extern "C"
380380
return nullptr;
381381
}
382382

383-
char *funName = (char *)env->GetStringUTFChars(functionName, 0);
383+
char *funName = functionName == nullptr ? nullptr
384+
: (char *)env->GetStringUTFChars(functionName, 0);
384385
char **dataTypes = new char *[argumentCount + 1];
385386
void **arguments = new void *[argumentCount + 1];
386387

@@ -456,8 +457,14 @@ extern "C"
456457
sem_destroy(&sem);
457458
}
458459

459-
env->ReleaseStringUTFChars(returnTypeStr, returnType);
460-
env->ReleaseStringUTFChars(functionName, funName);
460+
if (returnTypeStr != nullptr)
461+
{
462+
env->ReleaseStringUTFChars(returnTypeStr, returnType);
463+
}
464+
if (functionName != nullptr)
465+
{
466+
env->ReleaseStringUTFChars(functionName, funName);
467+
}
461468
delete[] arguments;
462469
delete[] dataTypes;
463470

0 commit comments

Comments
 (0)