There is a resource leak in WBEMClientCIMXML.transmitRequestWorker(). If there is a Socket exception in the call to connection.connect() it is after the HttpClient object as been allocated/acquired from the pool. But the error path for those exceptions does not release the HttpClient object back to the pool. After throwing the WBEMEception, knowledge of the HttpClient object is lost. It would appear that the catch blocks for connection.connect() need to call connection.disconnect() in order to release the HttpClient object.
Patch from Doug Miller.
This seems right. There is similar code in other exception handler blocks.
Patch sent for community review. During a 2 week period any
exploiter may comment on the patch, request changes or turn it
down completely (with good reason). For the time being the patch is part
of the "Experimental" branch in CVS.
The community review has completed and we received no substantial criticism. Therefore the patch has been approved and merged into the "HEAD" branch. The next release will pick it up.