# HG changeset patch # User luchsh # Date 1314711605 -3600 # Node ID 3e4d5111a45e7004e87cdc19912df6459e19ca29 # Parent e91dacb8d57f61fbe605486e9fbe6e503d955459 7084560: Crash in net.dll Reviewed-by: chegar, michaelm diff -r e91dacb8d57f -r 3e4d5111a45e src/windows/native/java/net/NetworkInterface.c --- a/src/windows/native/java/net/NetworkInterface.c Thu Mar 22 12:30:43 2012 +0800 +++ b/src/windows/native/java/net/NetworkInterface.c Tue Aug 30 14:40:05 2011 +0100 @@ -504,8 +504,7 @@ */ if (netaddrCount < 0) { netaddrCount = enumAddresses_win(env, ifs, &netaddrP); - if ((*env)->ExceptionOccurred(env)) { - free_netaddr(netaddrP); + if (netaddrCount == -1) { return NULL; } } diff -r e91dacb8d57f -r 3e4d5111a45e src/windows/native/java/net/NetworkInterface_winXP.c --- a/src/windows/native/java/net/NetworkInterface_winXP.c Thu Mar 22 12:30:43 2012 +0800 +++ b/src/windows/native/java/net/NetworkInterface_winXP.c Tue Aug 30 14:40:05 2011 +0100 @@ -194,8 +194,7 @@ while (curr != NULL) { netaddr *netaddrP; ret = enumAddresses_win(env, curr, &netaddrP); - if ((*env)->ExceptionOccurred(env)) { - free_netaddr(netaddrP); + if (ret == -1) { return -1; } curr->addrs = netaddrP; @@ -449,8 +448,7 @@ */ if (netaddrCount < 0) { netaddrCount = enumAddresses_win(env, ifs, &netaddrP); - if ((*env)->ExceptionOccurred(env)) { - free_netaddr(netaddrP); + if (netaddrCount == -1) { return NULL; } }