Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit f4e96c4

Browse files
authored
Merge pull request #12 from dnet/jni-genhash-outlen
added outlen parameter to generichash in JNI
2 parents 51b0c18 + 558a7e0 commit f4e96c4

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/jni.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,18 @@ JNIEXPORT jbyteArray JNICALL Java_org_hsbp_androsphinx_Sphinx_finish(JNIEnv *env
5555
return result ? NULL : rwd;
5656
}
5757

58-
JNIEXPORT jbyteArray JNICALL Java_org_hsbp_androsphinx_Sodium_genericHash(JNIEnv *env, jobject ignore, jbyteArray msg, jbyteArray salt) {
58+
JNIEXPORT jbyteArray JNICALL Java_org_hsbp_androsphinx_Sodium_genericHash(JNIEnv *env, jobject ignore, jbyteArray msg, jbyteArray salt, jint outlen) {
59+
if (outlen <= 0) return NULL;
60+
5961
jbyte* bufferPtrMsg = (*env)->GetByteArrayElements(env, msg, NULL);
6062
jbyte* bufferPtrSalt = (*env)->GetByteArrayElements(env, salt, NULL);
6163
jsize msgLen = (*env)->GetArrayLength(env, msg);
6264
jsize saltLen = (*env)->GetArrayLength(env, salt);
6365

64-
jbyteArray hash = (*env)->NewByteArray(env, crypto_generichash_BYTES);
66+
jbyteArray hash = (*env)->NewByteArray(env, outlen);
6567
jbyte* bufferPtrHash = (*env)->GetByteArrayElements(env, hash, NULL);
6668

67-
crypto_generichash(bufferPtrHash, crypto_generichash_BYTES,
69+
crypto_generichash(bufferPtrHash, outlen,
6870
bufferPtrMsg, msgLen, bufferPtrSalt, saltLen);
6971

7072
(*env)->ReleaseByteArrayElements(env, msg, bufferPtrMsg, JNI_ABORT);

0 commit comments

Comments
 (0)