F-3914: skip ReleaseStringUTFChars when GetStringUTFChars returns NULL

pull/401/head
Chris Conlon 2026-08-14 14:46:55 -06:00
parent e27ff831b7
commit d164901f57
2 changed files with 36 additions and 16 deletions

View File

@ -1112,9 +1112,13 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLContext_setCipherList
cipherList = (*jenv)->GetStringUTFChars(jenv, list, 0);
ret = (jint) wolfSSL_CTX_set_cipher_list(ctx, cipherList);
(*jenv)->ReleaseStringUTFChars(jenv, list, cipherList);
if (cipherList == NULL) {
ret = (jint)SSL_FAILURE;
}
else {
ret = (jint) wolfSSL_CTX_set_cipher_list(ctx, cipherList);
(*jenv)->ReleaseStringUTFChars(jenv, list, cipherList);
}
return ret;
}
@ -2249,9 +2253,13 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLContext_setOCSPOverrideUrl
url = (*jenv)->GetStringUTFChars(jenv, urlString, 0);
ret = (jint) wolfSSL_CTX_SetOCSP_OverrideURL(ctx, url);
(*jenv)->ReleaseStringUTFChars(jenv, urlString, url);
if (url == NULL) {
ret = (jint)SSL_FAILURE;
}
else {
ret = (jint) wolfSSL_CTX_SetOCSP_OverrideURL(ctx, url);
(*jenv)->ReleaseStringUTFChars(jenv, urlString, url);
}
return ret;
#else
@ -7068,9 +7076,13 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLContext_set1SigAlgsList
sigAlgList = (*jenv)->GetStringUTFChars(jenv, list, 0);
ret = wolfSSL_CTX_set1_sigalgs_list(ctx, sigAlgList);
(*jenv)->ReleaseStringUTFChars(jenv, list, sigAlgList);
if (sigAlgList == NULL) {
ret = WOLFSSL_FAILURE;
}
else {
ret = wolfSSL_CTX_set1_sigalgs_list(ctx, sigAlgList);
(*jenv)->ReleaseStringUTFChars(jenv, list, sigAlgList);
}
return (jint)ret;
#else

View File

@ -2509,11 +2509,15 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLSession_setCipherList
return SSL_FAILURE;
}
cipherList= (*jenv)->GetStringUTFChars(jenv, list, 0);
cipherList = (*jenv)->GetStringUTFChars(jenv, list, 0);
ret = (jint) wolfSSL_set_cipher_list(ssl, cipherList);
(*jenv)->ReleaseStringUTFChars(jenv, list, cipherList);
if (cipherList == NULL) {
ret = SSL_FAILURE;
}
else {
ret = (jint) wolfSSL_set_cipher_list(ssl, cipherList);
(*jenv)->ReleaseStringUTFChars(jenv, list, cipherList);
}
return ret;
}
@ -6275,9 +6279,13 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSLSession_set1SigAlgsList
sigAlgList = (*jenv)->GetStringUTFChars(jenv, list, 0);
ret = wolfSSL_set1_sigalgs_list(ssl, sigAlgList);
(*jenv)->ReleaseStringUTFChars(jenv, list, sigAlgList);
if (sigAlgList == NULL) {
ret = SSL_FAILURE;
}
else {
ret = wolfSSL_set1_sigalgs_list(ssl, sigAlgList);
(*jenv)->ReleaseStringUTFChars(jenv, list, sigAlgList);
}
return (jint)ret;
#else