Explorar o código

Merge remote-tracking branch 'origin/maint-0.2.2'

Nick Mathewson %!s(int64=12) %!d(string=hai) anos
pai
achega
521cb58187
Modificáronse 2 ficheiros con 8 adicións e 0 borrados
  1. 4 0
      changes/bug5796
  2. 4 0
      src/or/control.c

+ 4 - 0
changes/bug5796

@@ -0,0 +1,4 @@
+  o Minor bugfixes (controller):
+    - Fix a NULL-pointer derefernce on a badly formed
+      SETCIRCUITPURPOSE command. Found by mikeyc. Fixes bug 5796;
+      bugfix on 0.2.2.9-alpha.

+ 4 - 0
src/or/control.c

@@ -2530,6 +2530,10 @@ handle_control_setcircuitpurpose(control_connection_t *conn,
 
   {
     const char *purp = find_element_starting_with(args,1,"PURPOSE=");
+    if (!purp) {
+      connection_write_str_to_buf("552 No purpose given\r\n", conn);
+      goto done;
+    }
     new_purpose = circuit_purpose_from_string(purp);
     if (new_purpose == CIRCUIT_PURPOSE_UNKNOWN) {
       connection_printf_to_buf(conn, "552 Unknown purpose \"%s\"\r\n", purp);