Skip to content

Commit

Permalink
JNI: add negative sanity checks for offset and len in jni_sha.c
Browse files Browse the repository at this point in the history
  • Loading branch information
cconlon committed Mar 5, 2025
1 parent 427548f commit 920c921
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions jni/jni_sha.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ Java_com_wolfssl_wolfcrypt_Sha_native_1update_1internal___3BII(
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down Expand Up @@ -519,7 +519,7 @@ JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Sha224_native_1update_1interna
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down Expand Up @@ -735,7 +735,7 @@ Java_com_wolfssl_wolfcrypt_Sha256_native_1update_1internal___3BII(
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down Expand Up @@ -930,7 +930,7 @@ Java_com_wolfssl_wolfcrypt_Sha384_native_1update_1internal___3BII(
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down Expand Up @@ -1126,7 +1126,7 @@ Java_com_wolfssl_wolfcrypt_Sha512_native_1update_1internal___3BII(
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down Expand Up @@ -1414,7 +1414,7 @@ JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Sha3_native_1update_1internal_
data = getByteArray(env, data_buffer);
dataSz = getByteArrayLength(env, data_buffer);

if (sha == NULL || data == NULL ||
if (sha == NULL || data == NULL || offset < 0 || len < 0 ||
(word32)(offset + len) > dataSz) {
ret = BAD_FUNC_ARG;
}
Expand Down

0 comments on commit 920c921

Please sign in to comment.