Browse Source

avoid infinite loop in tor-resolve if tor hangs up on it

svn:r2977
Roger Dingledine 20 years ago
parent
commit
c89afb7917
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/tools/tor-resolve.c

+ 4 - 0
src/tools/tor-resolve.c

@@ -137,6 +137,10 @@ do_resolve(const char *hostname, uint32_t sockshost, uint16_t socksport,
   len = 0;
   while (len < RESPONSE_LEN) {
     r = recv(s, response_buf+len, RESPONSE_LEN-len, 0);
+    if (r==0) {
+      log_fn(LOG_WARN,"EOF while reading SOCKS response");
+      return -1;
+    }
     if (r<0) {
       log_sock_error("reading SOCKS response", s);
       return -1;