[tor-commits] [tor/master] Warn if sizeof(tor_socket_t) != sizeof(SOCKET)

nickm at torproject.org nickm at torproject.org
Wed Jan 18 20:33:44 UTC 2012


commit dea0720dadea8f3915901833115726f4ba0d48f4
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Jan 17 16:38:47 2012 -0500

    Warn if sizeof(tor_socket_t) != sizeof(SOCKET)
---
 changes/tor_socket_tests |    3 +++
 src/common/compat.c      |    5 +++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/changes/tor_socket_tests b/changes/tor_socket_tests
index 5857d20..b7ee325 100644
--- a/changes/tor_socket_tests
+++ b/changes/tor_socket_tests
@@ -2,6 +2,9 @@
     - Find more places in the code that should have been testing for
       invalid sockets using the SOCKET_OK macro. Required for a fix
       for bug 4533. Bugfix on 0.2.2.28-beta.
+    - Detect attempts to build Tor on (as yet hypothetical) versions
+      of Windows where sizeof(intptr_t) != sizeof(SOCKET).  Partial
+      fix for bug 4533. Bugfix on 0.2.2.28-beta.
 
   o Code simplification and refactoring:
     - Use a TOR_INVALID_SOCKET macro when initializing a socket to an
diff --git a/src/common/compat.c b/src/common/compat.c
index 7f89037..1f9066d 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -2889,6 +2889,11 @@ network_init(void)
     log_warn(LD_NET,"Error initializing windows network layer: code was %d",r);
     return -1;
   }
+  if (sizeof(SOCKET) != sizeof(tor_socket_t)) {
+    log_warn(LD_BUG,"The tor_socket_t type does not match SOCKET in size; Tor "
+             "might not work. (Sizes are %d and %d respectively.)",
+             (int)sizeof(tor_socket_t), (int)sizeof(SOCKET));
+  }
   /* WSAData.iMaxSockets might show the max sockets we're allowed to use.
    * We might use it to complain if we're trying to be a server but have
    * too few sockets available. */





More information about the tor-commits mailing list