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 | |
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.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | native/jni/java-net/java_net_VMInetAddress.c | 2 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,12 @@ +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. + 2011-03-17 Pekka Enberg <penberg@kernel.org> * native/jni/java-nio/java_nio_VMDirectByteBuffer.c: 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"); |