Juan Lang : wsock32: Check return value rather than returned size for error .

Alexandre Julliard julliard at winehq.org
Tue Nov 6 08:24:38 CST 2007


Module: wine
Branch: master
Commit: 182ec0a50d28fb09070ceb0c3c50e0f4e1ba810d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=182ec0a50d28fb09070ceb0c3c50e0f4e1ba810d

Author: Juan Lang <juan.lang at gmail.com>
Date:   Mon Nov  5 10:25:11 2007 -0800

wsock32: Check return value rather than returned size for error.

---

 dlls/wsock32/socket.c |   24 +++++++++---------------
 1 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/dlls/wsock32/socket.c b/dlls/wsock32/socket.c
index 28b526c..d326443 100644
--- a/dlls/wsock32/socket.c
+++ b/dlls/wsock32/socket.c
@@ -441,11 +441,9 @@ DWORD WINAPI WsControl(DWORD protocol,
 
                   if (!pcbResponseInfoLen)
                      return ERROR_BAD_ENVIRONMENT;
-                  GetIpForwardTable(NULL, &routeTableSize, FALSE);
-                  if (!routeTableSize) {
-                      *pcbResponseInfoLen = 0;
-                      return WSCTL_SUCCESS;
-                  }
+                  ret = GetIpForwardTable(NULL, &routeTableSize, FALSE);
+                  if (ret != ERROR_INSUFFICIENT_BUFFER)
+                      return ret;
                   numRoutes = (routeTableSize - sizeof(MIB_IPFORWARDTABLE))
                    / sizeof(MIB_IPFORWARDROW) + 1;
                   if (*pcbResponseInfoLen < sizeof(IPRouteEntry) * numRoutes)
@@ -494,11 +492,9 @@ DWORD WINAPI WsControl(DWORD protocol,
 
                   if (!pcbResponseInfoLen)
                      return ERROR_BAD_ENVIRONMENT;
-                  GetIpNetTable(NULL, &arpTableSize, FALSE);
-                  if (!arpTableSize) {
-                      *pcbResponseInfoLen = 0;
-                      return WSCTL_SUCCESS;
-                  }
+                  ret = GetIpNetTable(NULL, &arpTableSize, FALSE);
+                  if (ret != ERROR_INSUFFICIENT_BUFFER)
+                      return ret;
                   numEntries = (arpTableSize - sizeof(MIB_IPNETTABLE))
                    / sizeof(MIB_IPNETROW) + 1;
                   if (*pcbResponseInfoLen < sizeof(MIB_IPNETROW) * numEntries)
@@ -536,11 +532,9 @@ DWORD WINAPI WsControl(DWORD protocol,
 
                   if (!pcbResponseInfoLen)
                      return ERROR_BAD_ENVIRONMENT;
-                  GetTcpTable(NULL, &tcpTableSize, FALSE);
-                  if (!tcpTableSize) {
-                      *pcbResponseInfoLen = 0;
-                      return WSCTL_SUCCESS;
-                  }
+                  ret = GetTcpTable(NULL, &tcpTableSize, FALSE);
+                  if (ret != ERROR_INSUFFICIENT_BUFFER)
+                      return ret;
                   numEntries = (tcpTableSize - sizeof(MIB_TCPTABLE))
                    / sizeof(MIB_TCPROW) + 1;
                   if (*pcbResponseInfoLen < sizeof(MIB_TCPROW) * numEntries)




More information about the wine-cvs mailing list