diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-02-11 12:12:02 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-02-11 12:12:02 -0500 |
commit | bc7a5eeeda58c68b3c8434fd66c404aae269dbb0 (patch) | |
tree | 432361b5c7dcf8ce319abdffc0f9a215450736b0 | |
parent | c0a6c3465270355a09a93c1b48ba496e0f36cf0c (diff) | |
parent | 42e131e9acca7c51fb220935deda5dc681004e3f (diff) | |
download | tor-bc7a5eeeda58c68b3c8434fd66c404aae269dbb0.tar.gz tor-bc7a5eeeda58c68b3c8434fd66c404aae269dbb0.zip |
Merge remote-tracking branch 'weasel/bug18261'
-rw-r--r-- | changes/bug18261 | 6 | ||||
-rw-r--r-- | src/or/connection.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug18261 b/changes/bug18261 new file mode 100644 index 0000000000..df4c74f337 --- /dev/null +++ b/changes/bug18261 @@ -0,0 +1,6 @@ + o Minor features (crypto): + - Fix a segfault during startup: If unix socket was configured as + listener (such as a ControlSocket or a SocksPort unix socket), and + tor was started as root but not configured to switch to another + user, tor would segfault while trying to string compare a NULL + value. Fixes bug 18261; bugfix on 0.2.8.1-alpha. Patch by weasel. diff --git a/src/or/connection.c b/src/or/connection.c index 6c2160c8b4..f459a1b608 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2397,7 +2397,7 @@ retry_listener_ports(smartlist_t *old_conns, /* We don't need to be root to create a UNIX socket, so defer until after * setuid. */ const or_options_t *options = get_options(); - if (port->is_unix_addr && !geteuid() && strcmp(options->User, "root")) + if (port->is_unix_addr && !geteuid() && (options->User) && strcmp(options->User, "root")) continue; #endif |