diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-01-06 14:28:02 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-01-06 14:28:02 -0500 |
commit | 3401c34151a29fe962944ce3ea77f14056c87efa (patch) | |
tree | a251d325f815009844762340fb6cba871e7ae805 | |
parent | a034863b45455a2def6d957d54bec2530db4a1a6 (diff) | |
parent | 6d6643298dfda1b146c635e3858faec7e9c9631c (diff) | |
download | tor-3401c34151a29fe962944ce3ea77f14056c87efa.tar.gz tor-3401c34151a29fe962944ce3ea77f14056c87efa.zip |
Merge remote-tracking branch 'public/bug14116_025'
-rw-r--r-- | changes/bug14116_025 | 3 | ||||
-rw-r--r-- | src/or/control.c | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/changes/bug14116_025 b/changes/bug14116_025 new file mode 100644 index 0000000000..0859f626a5 --- /dev/null +++ b/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. diff --git a/src/or/control.c b/src/or/control.c index d21682a19c..3dbaa1bdf2 100644 --- a/src/or/control.c +++ b/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)); |