Merge branch 'maint-0.3.3' into maint-0.3.4

This commit is contained in:
Nick Mathewson 2018-08-08 18:06:15 -04:00
commit 0f0dac0bfc
2 changed files with 9 additions and 4 deletions

4
changes/bug26948 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (in-process restart):
- Always call tor_free_all() when leaving tor_run_main(). When we
did not, restarting tor in-process would cause an assertion failure.
Fixes bug 26948; bugfix on 0.3.3.1-alpha.

View File

@ -4246,10 +4246,10 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
#endif /* defined(NT_SERVICE) */ #endif /* defined(NT_SERVICE) */
{ {
int init_rv = tor_init(argc, argv); int init_rv = tor_init(argc, argv);
if (init_rv < 0) if (init_rv) {
return -1; tor_free_all(0);
else if (init_rv > 0) return (init_rv < 0) ? -1 : 0;
return 0; }
} }
if (get_options()->Sandbox && get_options()->command == CMD_RUN_TOR) { if (get_options()->Sandbox && get_options()->command == CMD_RUN_TOR) {
@ -4257,6 +4257,7 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
if (sandbox_init(cfg)) { if (sandbox_init(cfg)) {
log_err(LD_BUG,"Failed to create syscall sandbox filter"); log_err(LD_BUG,"Failed to create syscall sandbox filter");
tor_free_all(0);
return -1; return -1;
} }