summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2011-03-31 00:30:26 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2011-03-31 00:30:26 +0000
commit685dce2df2f5cbb9598638e41482021f87e42e2e (patch)
tree4a9a7b6fc539d00f0c1379d441d3572ac9075206
parent92bcf9c6a0840c80fadbeda7692aa8929292c273 (diff)
downloadclasspath-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--ChangeLog9
-rw-r--r--native/jni/java-net/java_net_VMInetAddress.c2
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 533304117..853c78c42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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");