diff options
author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2011-03-31 00:30:26 +0000 |
---|---|---|
committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2011-03-31 00:30:26 +0000 |
commit | 685dce2df2f5cbb9598638e41482021f87e42e2e (patch) | |
tree | 4a9a7b6fc539d00f0c1379d441d3572ac9075206 /native | |
parent | 92bcf9c6a0840c80fadbeda7692aa8929292c273 (diff) | |
download | classpath-685dce2df2f5cbb9598638e41482021f87e42e2e.tar.gz |
PR classpath/42823: Remove memory leaks in native code of java.net.VMInetAddress.
2011-03-30 Gert Brettlecker <gert.brettlecker@ergon.ch>
PR classpath/42823
* native/jni/java-net/java_net_VMInetAddress.c,
(Java_VMInetAddress_getHostByAddr(JNIEnv*,jclass,jarray)):
Free address structure after use.
(Java_java_net_VMInetAddress_aton(JNIEnv*,jclass,jstring)):
Release UTF string after use.
Diffstat (limited to 'native')
-rw-r--r-- | native/jni/java-net/java_net_VMInetAddress.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/native/jni/java-net/java_net_VMInetAddress.c b/native/jni/java-net/java_net_VMInetAddress.c index 6ee7773b8..4de63cfdc 100644 --- a/native/jni/java-net/java_net_VMInetAddress.c +++ b/native/jni/java-net/java_net_VMInetAddress.c @@ -180,6 +180,7 @@ Java_java_net_VMInetAddress_getHostByAddr (JNIEnv * env, /* Resolve the address and return the name */ result = cpnet_getHostByAddr (env, addr, hostname, sizeof (hostname)); + cpnet_freeAddress (env, addr); if (result != CPNATIVE_OK) { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, @@ -330,6 +331,7 @@ Java_java_net_VMInetAddress_aton (JNIEnv *env, } result = cpnet_aton (env, hostname, &address); + (*env)->ReleaseStringUTFChars (env, host, hostname); if (result != CPNATIVE_OK) { JCL_ThrowException (env, UNKNOWN_HOST_EXCEPTION, "Internal Error"); |