aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2018-09-14 10:56:34 -0400
committerNick Mathewson <nickm@torproject.org>2018-09-14 12:56:26 -0400
commit0971b3ce4d03929ef09838209ab87de4f9dfcf1f (patch)
treef0eba3a75ce739021718b6ee4e5da6454be3e7b3 /src/or
parent9697c2da4680267038d407093cbcbc4c68059904 (diff)
downloadtor-0971b3ce4d03929ef09838209ab87de4f9dfcf1f.tar.gz
tor-0971b3ce4d03929ef09838209ab87de4f9dfcf1f.zip
hs-v3: Don't BUG() on directory permission check failure
In hs_config.c, we do validate the permission of the hidden service directory but we do not try to create it. So, in the event that the directory doesn't exists, we end up in the loading key code path which checks for the permission and possibly creates the directory. On failure, don't BUG() since there is a perfectly valid use case for that function to fail. Fixes #27335 Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or')
-rw-r--r--src/or/hs_service.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 33088480d1..408625c3ac 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -974,9 +974,9 @@ load_service_keys(hs_service_t *service)
* files to that directory so make sure it exists and has the right
* permissions. We do this here because at this stage we know that Tor is
* actually running and the service we have has been validated. */
- if (BUG(hs_check_service_private_dir(get_options()->User,
- config->directory_path,
- config->dir_group_readable, 1) < 0)) {
+ if (hs_check_service_private_dir(get_options()->User,
+ config->directory_path,
+ config->dir_group_readable, 1) < 0) {
goto end;
}