F-8206: check GetStringUTFChars result in ECC curve name paths

pull/257/head
Chris Conlon 2026-08-13 16:41:30 -06:00
parent d52838c2d4
commit 3590c2af6d
1 changed files with 14 additions and 2 deletions

View File

@ -336,6 +336,12 @@ JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Ecc_wc_1ecc_1import_1private
if (ret == 0) {
if (curveName != NULL) {
name = (*env)->GetStringUTFChars(env, curveName, 0);
if (name == NULL) {
/* OutOfMemoryError pending, release arrays and return */
releaseByteArray(env, priv_object, priv, JNI_ABORT);
releaseByteArray(env, pub_object, pub, JNI_ABORT);
return;
}
ret = wc_ecc_get_curve_id_from_name(name);
(*env)->ReleaseStringUTFChars(env, curveName, name);
@ -1057,8 +1063,14 @@ JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Ecc_wc_1ecc_1get_1curve_1size_
ret = BAD_FUNC_ARG;
} else {
name = (*env)->GetStringUTFChars(env, curveName, 0);
ret = wc_ecc_get_curve_size_from_name(name);
(*env)->ReleaseStringUTFChars(env, curveName, name);
if (name == NULL) {
/* OutOfMemoryError pending */
ret = MEMORY_E;
}
else {
ret = wc_ecc_get_curve_size_from_name(name);
(*env)->ReleaseStringUTFChars(env, curveName, name);
}
}
#else