Author: costin
Date: Thu Mar 1 07:37:11 2012
New Revision: 1295445
URL: http://svn.apache.org/viewvc?rev=1295445&view=rev
Log:
Small bug/leak when called with larger buffers.
Modified:
tomcat/native/trunk/native/src/network.c
Modified: tomcat/native/trunk/native/src/network.c
URL:
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/network.c?rev=1295445&r1=1295444&r2=1295445&view=diff
==============================================================================
--- tomcat/native/trunk/native/src/network.c (original)
+++ tomcat/native/trunk/native/src/network.c Thu Mar 1 07:37:11 2012
@@ -737,10 +737,12 @@ TCN_IMPLEMENT_CALL(jint, Socket, recv)(T
}
else {
jbyte *bytes = (*e)->GetByteArrayElements(e, buf, NULL);
- if ((ss = (*s->net->recv)(s->opaque, (char*)(bytes + offset),
- &nbytes)) == APR_SUCCESS)
- (*e)->ReleaseByteArrayElements(e, buf, bytes,
- nbytes ? 0 : JNI_ABORT);
+ ss = (*s->net->recv)(s->opaque, (char*)(bytes + offset), &nbytes);
+ if ( ss == APR_SUCCESS) {
+ (*e)->ReleaseByteArrayElements(e, buf, bytes, nbytes ? 0 :
JNI_ABORT);
+ } else {
+ (*e)->ReleaseByteArrayElements(e, buf, bytes, JNI_ABORT);
+ }
}
#ifdef TCN_DO_STATISTICS
if (ss == APR_SUCCESS) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]