F-4146: guard ReleaseStringUTFChars against a failed GetStringUTFChars in X.509 JNI entry points

pull/398/head
Chris Conlon 2026-08-13 11:54:45 -06:00
parent 2d437b0d38
commit c33b454c0a
1 changed files with 9 additions and 2 deletions

View File

@ -1069,10 +1069,9 @@ JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1load_1certific
if (path != NULL) {
x509 = wolfSSL_X509_load_certificate_file(path, format);
(*jenv)->ReleaseStringUTFChars(jenv, filename, path);
}
(*jenv)->ReleaseStringUTFChars(jenv, filename, path);
return (jlong)(uintptr_t)x509;
#else
(void)jenv;
@ -2372,6 +2371,10 @@ JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1get_1exte
}
oid = (*jenv)->GetStringUTFChars(jenv, oidIn, 0);
if (oid == NULL) {
return NULL;
}
nid = wolfSSL_OBJ_txt2nid(oid);
(*jenv)->ReleaseStringUTFChars(jenv, oidIn, oid);
if (nid == NID_undef) {
@ -2441,6 +2444,10 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1is_1extension_1
}
oid = (*jenv)->GetStringUTFChars(jenv, oidIn, 0);
if (oid == NULL) {
return -1;
}
nid = wolfSSL_OBJ_txt2nid(oid);
if (nid == NID_undef) {
(*jenv)->ReleaseStringUTFChars(jenv, oidIn, oid);