浏览代码

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

svn:r2977
Roger Dingledine 21 年之前
父节点
当前提交
c89afb7917
共有 1 个文件被更改,包括 4 次插入0 次删除
  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;