Explorar o código

fix a seg fault, add another XXX for nick ;)

svn:r1892
Roger Dingledine %!s(int64=21) %!d(string=hai) anos
pai
achega
d2de7120fa
Modificáronse 3 ficheiros con 4 adicións e 2 borrados
  1. 1 0
      src/or/dirserv.c
  2. 2 1
      src/or/main.c
  3. 1 1
      src/or/routerlist.c

+ 1 - 0
src/or/dirserv.c

@@ -333,6 +333,7 @@ dirserv_add_descriptor(const char **desc)
     /* Add this at the end. */
     if (n_descriptors >= MAX_ROUTERS_IN_DIR) {
       log_fn(LOG_WARN,"Too many descriptors in directory; can't add another.");
+      return -1;
     } else {
       log_fn(LOG_INFO,"Dirserv adding desc for nickname %s",ri->nickname);
       desc_ent_ptr = &descriptor_list[n_descriptors++];

+ 2 - 1
src/or/main.c

@@ -215,7 +215,7 @@ static void conn_read(int i) {
     connection_handle_read(conn) < 0) {
       if (!conn->marked_for_close) {
         /* this connection is broken. remove it */
-        log_fn(LOG_ERR,"Unhandled error on read for %s connection (fd %d); removing",
+        log_fn(LOG_WARN,"Unhandled error on read for %s connection (fd %d); removing",
                CONN_TYPE_TO_STRING(conn->type), conn->s);
         connection_mark_for_close(conn);
       }
@@ -248,6 +248,7 @@ static void conn_write(int i) {
       log_fn(LOG_WARN,"Unhandled error on read for %s connection (fd %d); removing",
              CONN_TYPE_TO_STRING(conn->type), conn->s);
       conn->has_sent_end = 1; /* otherwise we cry wolf about duplicate close */
+      /* XXX do we need a close-immediate here, so we don't try to flush? */
       connection_mark_for_close(conn);
     }
   }

+ 1 - 1
src/or/routerlist.c

@@ -323,7 +323,7 @@ int router_add_to_routerlist(routerinfo_t *router) {
           /* Remember whether we trust this router as a dirserver. */
           if (r->is_trusted_dir)
             router->is_trusted_dir = 1;
-          /* If the adress hasn't changed; no need to re-resolve. */
+          /* If the address hasn't changed; no need to re-resolve. */
           if (!strcasecmp(r->address, router->address))
             router->addr = r->addr;
           routerinfo_free(r);