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]>