Merge branch 'maint-0.3.2' of https://git.torproject.org/tor into maint-0.3.2

This commit is contained in:
David Goulet 2018-09-20 10:59:23 -04:00
commit d1a6043bfb
4 changed files with 23 additions and 5 deletions

4
changes/bug27335 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (hidden service v3):
- In case the hidden service directory can't be created or has wrong
permissions, do not BUG() on it which lead to a non fatal stacktrace.
Fixes bug 27335; bugfix on 0.3.2.1.

6
changes/bug27658 Normal file
View File

@ -0,0 +1,6 @@
o Minor bugfixes (testing):
- If a unit test running in a subprocess exits abnormally or with a
nonzero status code, treat the test as having failed, even if
the test reported success. Without this fix, memory leaks don't cause
cause the tests to fail, even with LeakSanitizer. Fixes bug 27658;
bugfix on 0.2.2.4-alpha.

View File

@ -207,12 +207,20 @@ testcase_run_forked_(const struct testgroup_t *group,
r = (int)read(outcome_pipe[0], b, 1);
if (r == 0) {
printf("[Lost connection!] ");
return 0;
return FAIL;
} else if (r != 1) {
perror("read outcome from pipe");
}
waitpid(pid, &status, 0);
r = waitpid(pid, &status, 0);
close(outcome_pipe[0]);
if (r == -1) {
perror("waitpid");
return FAIL;
}
if (! WIFEXITED(status) || WEXITSTATUS(status) != 0) {
printf("[did not exit cleanly.]");
return FAIL;
}
return b[0]=='Y' ? OK : (b[0]=='S' ? SKIP : FAIL);
}
#endif

View File

@ -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;
}