You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by bo...@apache.org on 2010/04/07 17:35:24 UTC

svn commit: r931592 - in /xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors: Socket/UnixHTTPURLInputStream.cpp WinSock/BinHTTPURLInputStream.cpp

Author: borisk
Date: Wed Apr  7 15:35:24 2010
New Revision: 931592

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

Modified:
    xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
    xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp

Modified: xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp?rev=931592&r1=931591&r2=931592&view=diff
==============================================================================
--- xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp (original)
+++ xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp Wed Apr  7 15:35:24 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/branches/xerces-3.1/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp?rev=931592&r1=931591&r2=931592&view=diff
==============================================================================
--- xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp (original)
+++ xerces/c/branches/xerces-3.1/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp Wed Apr  7 15:35:24 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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org