Author: borisk
Date: Wed Apr  7 15:34:52 2010
New Revision: 931591

URL: http://svn.apache.org/viewvc?rev=931591&view=rev
Log:
Fix socket leak.

Modified:
    
xerces/c/trunk/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
    
xerces/c/trunk/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp

Modified: 
xerces/c/trunk/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp?rev=931591&r1=931590&r2=931591&view=diff
==============================================================================
--- 
xerces/c/trunk/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp 
(original)
+++ 
xerces/c/trunk/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp 
Wed Apr  7 15:34:52 2010
@@ -139,6 +139,7 @@ UnixHTTPURLInputStream::UnixHTTPURLInput
             fSocket = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
             if (fSocket < 0)
                 continue;
+            janSock.reset(&fSocket);
             if (connect(fSocket, ai->ai_addr, ai->ai_addrlen) < 0)
             {
                 freeaddrinfo(res);
@@ -153,7 +154,6 @@ UnixHTTPURLInputStream::UnixHTTPURLInput
             ThrowXMLwithMemMgr1(NetAccessorException,
                      XMLExcepts::NetAcc_CreateSocket, url.getURLText(), 
memoryManager);
         }
-        janSock.reset(&fSocket);
 #else
         struct hostent *hostEntPtr = 0;
         struct sockaddr_in sa;

Modified: 
xerces/c/trunk/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp?rev=931591&r1=931590&r2=931591&view=diff
==============================================================================
--- 
xerces/c/trunk/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp 
(original)
+++ 
xerces/c/trunk/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp 
Wed Apr  7 15:34:52 2010
@@ -347,6 +347,7 @@ BinHTTPURLInputStream::BinHTTPURLInputSt
             fSocketHandle = wrap_socket(ai->ai_family, ai->ai_socktype, 
ai->ai_protocol);
             if (fSocketHandle == INVALID_SOCKET)
                 continue;
+            janSock.reset(&fSocketHandle);
             if (wrap_connect(fSocketHandle, ai->ai_addr, (int)ai->ai_addrlen) 
== SOCKET_ERROR)
             {
                 wrap_freeaddrinfo(res);
@@ -363,7 +364,6 @@ BinHTTPURLInputStream::BinHTTPURLInputSt
             ThrowXMLwithMemMgr1(NetAccessorException,
                      XMLExcepts::NetAcc_CreateSocket, url.getURLText(), 
memoryManager);
         }
-        janSock.reset(&fSocketHandle);
 #else
         struct hostent*     hostEntPtr = 0;
         struct sockaddr_in  sa;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to