snichol 2002/07/03 13:01:11
Modified: java/src/org/apache/soap/providers/com RPCProvider.cpp
COMProvider.dll
Log:
Reviewed by: Scott Nichol
From Leif Nilsson TACMa ([EMAIL PROTECTED]):
Two memory leaks have now been fixed in RPCProvider.cpp.
If you compare the original version with the new one you'll find two calls
to
::VariantClear(&result);
And one call to
::SysFreeString(bstrS);
Revision Changes Path
1.2 +5 -1 xml-soap/java/src/org/apache/soap/providers/com/RPCProvider.cpp
Index: RPCProvider.cpp
===================================================================
RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/providers/com/RPCProvider.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RPCProvider.cpp 14 Mar 2001 19:39:56 -0000 1.1
+++ RPCProvider.cpp 3 Jul 2002 20:01:09 -0000 1.2
@@ -53,6 +53,8 @@
* Business Machines, Inc., http://www.apache.org. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
+ *
+ * Includes a patch contributed by Leif Nilsson TACMa ([EMAIL PROTECTED])
*/
#pragma warning(disable:4786) /*Very annoying warning that symbol exceeds debug
info size*/
#include <cstdlib>
@@ -360,12 +362,13 @@
eventlog(LOG_ERROR, msgFailedConvertReturn, V_VT (&result), progid,
methodName);
throwSoapException(msgFailedConvertReturn, V_VT (&result), progid, methodName);
if(methodName) free(methodName);
+ ::VariantClear(&result);
return NULL;
}
if(methodName) free(methodName);
eventlog(LOG_SUCCESS, msgSuccess );
-
+ ::VariantClear(&result);
return jresult;
}
//Throw a Java SOAP Exception.
@@ -462,6 +465,7 @@
void *x =bstrS;
memcpy(jr, &x, sizeof x);
if(isCopy == JNI_TRUE) env->ReleaseByteArrayElements(jByteArray,jr,0);
+ ::SysFreeString(bstrS);
return jByteArray;
}
1.3 +8 -14 xml-soap/java/src/org/apache/soap/providers/com/COMProvider.dll
<<Binary file>>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>