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
@ -75,14 +75,8 @@ static int getAdapters (JNIEnv *env, IP_ADAPTER_ADDRESSES **adapters) {
|
||||
DWORD ret, flags;
|
||||
IP_ADAPTER_ADDRESSES *adapterInfo;
|
||||
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;
|
||||
|
||||
|
||||
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
||||
if (adapterInfo == NULL) {
|
||||
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 "
|
||||
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
||||
} else {
|
||||
error_msg_buf = (char *)malloc(error_msg_buf_size);
|
||||
if (error_msg_buf != NULL) {
|
||||
memset(error_msg_buf, 0, error_msg_buf_size);
|
||||
_ret = _snprintf_s(error_msg_buf, error_msg_buf_size,
|
||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses "
|
||||
"function failed with error == %d", ret);
|
||||
if (_ret != -1) {
|
||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||
} else {
|
||||
JNU_ThrowByName(env, "java/lang/Error",
|
||||
"IP Helper Library GetAdaptersAddresses function failure");
|
||||
}
|
||||
char error_msg_buf[100];
|
||||
int _sr;
|
||||
_sr = _snprintf_s(error_msg_buf, sizeof(error_msg_buf),
|
||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses "
|
||||
"function failed with error == %d", ret);
|
||||
if (_sr != -1) {
|
||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||
} else {
|
||||
JNU_ThrowByName(env, "java/lang/Error",
|
||||
"IP Helper Library GetAdaptersAddresses function failed");
|
||||
"IP Helper Library GetAdaptersAddresses function failure");
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
@ -158,10 +147,6 @@ IP_ADAPTER_ADDRESSES *getAdapter (JNIEnv *env, jint index) {
|
||||
DWORD flags, val;
|
||||
IP_ADAPTER_ADDRESSES *adapterInfo, *ptr, *ret;
|
||||
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;
|
||||
adapterInfo = (IP_ADAPTER_ADDRESSES *) malloc(BUFF_SIZE);
|
||||
if (adapterInfo == NULL) {
|
||||
@ -204,21 +189,16 @@ IP_ADAPTER_ADDRESSES *getAdapter (JNIEnv *env, jint index) {
|
||||
"IP Helper Library GetAdaptersAddresses function failed "
|
||||
"with ERROR_ADDRESS_NOT_ASSOCIATED");
|
||||
} else {
|
||||
error_msg_buf = (char *)malloc(error_msg_buf_size);
|
||||
if (error_msg_buf != NULL) {
|
||||
memset(error_msg_buf, 0, error_msg_buf_size);
|
||||
_ret = _snprintf_s(error_msg_buf, error_msg_buf_size,
|
||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses function failed "
|
||||
"with error == %d", val);
|
||||
if (_ret != -1) {
|
||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||
} else {
|
||||
JNU_ThrowByName(env, "java/lang/Error",
|
||||
"IP Helper Library GetAdaptersAddresses function failure");
|
||||
}
|
||||
char error_msg_buf[100];
|
||||
int _sr;
|
||||
_sr = _snprintf_s(error_msg_buf, sizeof(error_msg_buf),
|
||||
_TRUNCATE, "IP Helper Library GetAdaptersAddresses function failed "
|
||||
"with error == %d", val);
|
||||
if (_sr != -1) {
|
||||
JNU_ThrowByName(env, "java/lang/Error", error_msg_buf);
|
||||
} else {
|
||||
JNU_ThrowByName(env, "java/lang/Error",
|
||||
"IP Helper Library GetAdaptersAddresses function failed");
|
||||
"IP Helper Library GetAdaptersAddresses function failure");
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user