8036613: [parfait] JNI exception pending in jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c

Reviewed-by: mullan
This commit is contained in:
Vinnie Ryan 2014-06-16 13:40:49 +01:00
parent a20967bfac
commit d4988ce66f

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -59,11 +59,16 @@ JNIEXPORT jboolean JNICALL Java_sun_security_provider_NativeSeedGenerator_native
numBytes = (*env)->GetArrayLength(env, randArray); numBytes = (*env)->GetArrayLength(env, randArray);
randBytes = (*env)->GetByteArrayElements(env, randArray, NULL); randBytes = (*env)->GetByteArrayElements(env, randArray, NULL);
if (randBytes == NULL) {
goto cleanup;
}
if (CryptGenRandom(hCryptProv, numBytes, randBytes)) { if (CryptGenRandom(hCryptProv, numBytes, randBytes)) {
result = JNI_TRUE; result = JNI_TRUE;
} }
(*env)->ReleaseByteArrayElements(env, randArray, randBytes, 0); (*env)->ReleaseByteArrayElements(env, randArray, randBytes, 0);
cleanup:
CryptReleaseContext(hCryptProv, 0); CryptReleaseContext(hCryptProv, 0);
return result; return result;