Przeglądaj źródła

Merge remote-tracking branch 'public/bug14116_025'

Nick Mathewson 9 lat temu
rodzic
commit
3401c34151
2 zmienionych plików z 11 dodań i 0 usunięć
  1. 3 0
      changes/bug14116_025
  2. 8 0
      src/or/control.c

+ 3 - 0
changes/bug14116_025

@@ -0,0 +1,3 @@
+  o Minor bugfixes (controller):
+    - Avoid crashing on a malformed EXTENDCIRCUIT command. Fixes bug 14116;
+      bugfix on 0.2.2.9-alpha.

+ 8 - 0
src/or/control.c

@@ -2465,6 +2465,14 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
     goto done;
   }
 
+  if (smartlist_len(args) < 2) {
+    connection_printf_to_buf(conn,
+                             "512 syntax error: not enough arguments.\r\n");
+    SMARTLIST_FOREACH(args, char *, cp, tor_free(cp));
+    smartlist_free(args);
+    goto done;
+  }
+
   smartlist_split_string(router_nicknames, smartlist_get(args,1), ",", 0, 0);
 
   SMARTLIST_FOREACH(args, char *, cp, tor_free(cp));