]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix a crash bug on SETCIRCUITPURPOSE.
authorNick Mathewson <nickm@torproject.org>
Mon, 7 May 2012 19:22:17 +0000 (15:22 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 15 May 2012 14:03:10 +0000 (10:03 -0400)
changes/bug5796 [new file with mode: 0644]
src/or/control.c

diff --git a/changes/bug5796 b/changes/bug5796
new file mode 100644 (file)
index 0000000..b92659f
--- /dev/null
@@ -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.
index ddfc80e8fd7a3a02941496e9a9f891b0cd1b7c93..b41b291061881ee60102335220d66fc2082c10fa 100644 (file)
@@ -2389,6 +2389,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);