On 04/03/2014 11:06, Mark Sheppard wrote:
Hi
  please oblige and review the following changes

http://cr.openjdk.java.net/~msheppar/8025293/webrev/

to address the issue in

https://bugs.openjdk.java.net/browse/JDK-8025293

this applies additional checks after JNI native calls in
src/solaris/native/java/net/NetworkInterface.c
src/windows/native/java/net/NetworkInterface.c

The main changes are NULL checks and pending exception checks.
I went through the webrev and it looks reasonable to me. The awkwardness of not knowing if GetStringUTFChars fails with a pending exception or not makes me wonder if the recent suggestion on core-libs-dev to check for a pending exception might be worth looking at again, even by introducing variations of JNU_ThrowOutOfMemoryError. Not for this patch of course but this patch does highlight the issue again.

One thing that isn't 100% clear to me is in the Solaris/Linux version of addif where it returns ifs if either getBroadcast or getSubnet fail with a pending exception. Is there additional cleanup/free that needs to be done for this case or is this the reason for returning the partially initialized ifs. I also wonder if it's necessary to check for a pending exception, could getBroadcast returning NULL is used too?

-Alan.


Reply via email to