Skip to content
Snippets Groups Projects
Commit eec8a50c authored by ylecollen's avatar ylecollen
Browse files

Move the exception test

parent 90c55806
No related branches found
No related tags found
No related merge requests found
...@@ -62,22 +62,26 @@ bool setRandomInBuffer(JNIEnv *env, uint8_t **aBuffer2Ptr, size_t aRandomSize) ...@@ -62,22 +62,26 @@ bool setRandomInBuffer(JNIEnv *env, uint8_t **aBuffer2Ptr, size_t aRandomSize)
newObj = env->NewObject(cls, constructor); newObj = env->NewObject(cls, constructor);
jbyteArray tempByteArray = env->NewByteArray(bufferLen); jbyteArray tempByteArray = env->NewByteArray(bufferLen);
if (newObj && tempByteArray && !env->ExceptionOccurred()) if (newObj && tempByteArray)
{ {
env->CallVoidMethod(newObj, nextByteMethod, tempByteArray); env->CallVoidMethod(newObj, nextByteMethod, tempByteArray);
jbyte* buffer = env->GetByteArrayElements(tempByteArray, NULL);
if (buffer) if (!env->ExceptionOccurred())
{ {
memcpy(*aBuffer2Ptr, buffer, bufferLen); jbyte* buffer = env->GetByteArrayElements(tempByteArray, NULL);
retCode = true;
// clear tempByteArray to hide sensitive data. if (buffer)
memset(buffer, 0, bufferLen); {
env->SetByteArrayRegion(tempByteArray, 0, bufferLen, buffer); memcpy(*aBuffer2Ptr, buffer, bufferLen);
retCode = true;
// ensure that the buffer is released // clear tempByteArray to hide sensitive data.
env->ReleaseByteArrayElements(tempByteArray, buffer, JNI_ABORT); memset(buffer, 0, bufferLen);
env->SetByteArrayRegion(tempByteArray, 0, bufferLen, buffer);
// ensure that the buffer is released
env->ReleaseByteArrayElements(tempByteArray, buffer, JNI_ABORT);
}
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment