Author: rjung
Date: Sat May 23 11:26:35 2015
New Revision: 1681324
URL: http://svn.apache.org/r1681324
Log:
Small bug/leak when called with larger buffers.
Style.
Backport of r1295445 and 1681323 from trunk.
Modified:
tomcat/native/branches/1.1.x/ (props changed)
tomcat/native/branches/1.1.x/native/src/network.c
Propchange: tomcat/native/branches/1.1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat May 23 11:26:35 2015
@@ -1,3 +1,3 @@
-/tomcat/native/trunk:815411,988402,988428,992208,1205445,1342003,1342008,1342013,1342020,1342024,1394258,1394342,1424947,1424971,1430753,1437081,1438342,1439337,1441884,1441886,1442579,1442581,1445972,1507113,1532577,1532590,1539594,1555184,1559180,1588195,1607262,1607267,1607278,1607291,1607477,1648821,1650119,1650304,1658557,1658641-1658642,1658724,1669302,1669496,1681314
+/tomcat/native/trunk:815411,988402,988428,992208,1205445,1295445,1342003,1342008,1342013,1342020,1342024,1394258,1394342,1424947,1424971,1430753,1437081,1438342,1439337,1441884,1441886,1442579,1442581,1445972,1507113,1532577,1532590,1539594,1555184,1559180,1588195,1607262,1607267,1607278,1607291,1607477,1648821,1650119,1650304,1658557,1658641-1658642,1658724,1669302,1669496,1681314,1681323
/tomcat/tc7.0.x/trunk:1199985,1200164,1349932,1434887,1435769
/tomcat/trunk:815418,832198,1001939,1033916,1043103,1044729,1078522,1145209,1145285,1149092,1241356,1241406-1241407,1242254,1292671,1299980,1300102,1434905,1437083
Modified: tomcat/native/branches/1.1.x/native/src/network.c
URL:
http://svn.apache.org/viewvc/tomcat/native/branches/1.1.x/native/src/network.c?rev=1681324&r1=1681323&r2=1681324&view=diff
==============================================================================
--- tomcat/native/branches/1.1.x/native/src/network.c (original)
+++ tomcat/native/branches/1.1.x/native/src/network.c Sat May 23 11:26:35 2015
@@ -777,10 +777,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]