mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8205342: windows : potential memleaks in getAdapter(s) in NetworkInterface_winXP.c
Reviewed-by: alanb, igerasim, stuefe
This commit is contained in:
parent
27896721a0
commit
7628589694
1 changed files with 16 additions and 36 deletions
|
@ -75,14 +75,8 @@ static int getAdapters (JNIEnv *env, IP_ADAPTER_ADDRESSES **adapters) {
|
||||||
DWORD ret, flags;
|
DWORD ret, flags;
|
||||||
IP_ADAPTER_ADDRESSES *adapterInfo;
|
IP_ADAPTER_ADDRESSES *adapterInfo;
|
||||||
ULONG len;
|
ULONG len;
|
||||||
char *error_msg_buf = NULL;
|
|
||||||
size_t error_msg_buf_size =
|
|
||||||
strlen("IP Helper Library GetAdaptersAddresses function failed"
|
|
||||||
" with error == ") + 10;
|
|
||||||
int _ret = 0;
|
|
||||||
int try;
|
int try;
|
||||||
|
|
||||||
|
|
||||||
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
||||||
if (adapterInfo == NULL) {
|
if (adapterInfo == NULL) {
|
||||||
JNU_ThrowByName(env, "java/lang/OutOfMemoryError",
|
JNU_ThrowByName(env, "java/lang/OutOfMemoryError",
|
||||||
|
@ -126,21 +120,16 @@ static int getAdapters (JNIEnv *env, IP_ADAPTER_ADDRESSES **adapters) {
|
||||||
"IP Helper Library GetAdaptersAddresses function failed "
|
"IP Helper Library GetAdaptersAddresses function failed "
|
||||||
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
||||||
} else {
|
} else {
|
||||||
error_msg_buf = (char *)malloc(error_msg_buf_size);
|
char error_msg_buf[100];
|
||||||
if (error_msg_buf != NULL) {
|
int _sr;
|
||||||
memset(error_msg_buf, 0, error_msg_buf_size);
|
_sr = _snprintf_s(error_msg_buf, sizeof(error_msg_buf),
|
||||||
_ret = _snprintf_s(error_msg_buf, error_msg_buf_size,
|
_TRUNCATE, "IP Helper Library GetAdaptersAddresses "
|
||||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses "
|
"function failed with error == %d", ret);
|
||||||
"function failed with error == %d", ret);
|
if (_sr != -1) {
|
||||||
if (_ret != -1) {
|
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
|
||||||
} else {
|
|
||||||
JNU_ThrowByName(env, "java/lang/Error",
|
|
||||||
"IP Helper Library GetAdaptersAddresses function failure");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
JNU_ThrowByName(env, "java/lang/Error",
|
JNU_ThrowByName(env, "java/lang/Error",
|
||||||
"IP Helper Library GetAdaptersAddresses function failed");
|
"IP Helper Library GetAdaptersAddresses function failure");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -158,10 +147,6 @@ IP_ADAPTER_ADDRESSES *getAdapter (JNIEnv *env, jint index) {
|
||||||
DWORD flags, val;
|
DWORD flags, val;
|
||||||
IP_ADAPTER_ADDRESSES *adapterInfo, *ptr, *ret;
|
IP_ADAPTER_ADDRESSES *adapterInfo, *ptr, *ret;
|
||||||
ULONG len;
|
ULONG len;
|
||||||
char *error_msg_buf = NULL;
|
|
||||||
size_t error_msg_buf_size =
|
|
||||||
strlen("IP Helper Library GetAdaptersAddresses function failed with error == ") + 10;
|
|
||||||
int _ret = 0;
|
|
||||||
int try;
|
int try;
|
||||||
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
||||||
if (adapterInfo == NULL) {
|
if (adapterInfo == NULL) {
|
||||||
|
@ -204,21 +189,16 @@ IP_ADAPTER_ADDRESSES *getAdapter (JNIEnv *env, jint index) {
|
||||||
"IP Helper Library GetAdaptersAddresses function failed "
|
"IP Helper Library GetAdaptersAddresses function failed "
|
||||||
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
||||||
} else {
|
} else {
|
||||||
error_msg_buf = (char *)malloc(error_msg_buf_size);
|
char error_msg_buf[100];
|
||||||
if (error_msg_buf != NULL) {
|
int _sr;
|
||||||
memset(error_msg_buf, 0, error_msg_buf_size);
|
_sr = _snprintf_s(error_msg_buf, sizeof(error_msg_buf),
|
||||||
_ret = _snprintf_s(error_msg_buf, error_msg_buf_size,
|
_TRUNCATE, "IP Helper Library GetAdaptersAddresses function failed "
|
||||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses function failed "
|
"with error == %d", val);
|
||||||
"with error == %d", val);
|
if (_sr != -1) {
|
||||||
if (_ret != -1) {
|
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
|
||||||
} else {
|
|
||||||
JNU_ThrowByName(env, "java/lang/Error",
|
|
||||||
"IP Helper Library GetAdaptersAddresses function failure");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
JNU_ThrowByName(env, "java/lang/Error",
|
JNU_ThrowByName(env, "java/lang/Error",
|
||||||
"IP Helper Library GetAdaptersAddresses function failed");
|
"IP Helper Library GetAdaptersAddresses function failure");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue