Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: special/tor
base: master
head repository: special/tor
compare: bug16060
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 2 files changed
  • 0 comments
  • 1 contributor
Commits on May 17, 2015
Ephemeral services will be listed in rend_services_list at the end of
rend_config_services, so it must check whether directory is non-NULL
before comparing.

This crash happens when reloading config on a tor with mixed configured
and ephemeral services.

Fixes bug #16060. Bugfix on 0.2.7.1-alpha.
Showing with 6 additions and 1 deletion.
  1. +4 −0 changes/bug16060
  2. +2 −1 src/or/rendservice.c
@@ -0,0 +1,4 @@
o Minor bugfixes (hidden service):
- Fix a crash when reloading configuration while at least one
configured and one ephemeral hidden service exists. Fixes bug 16060;
bugfix on 0.2.7.1-alpha.
@@ -709,7 +709,8 @@ rend_config_services(const or_options_t *options, int validate_only)
* probably ok? */
SMARTLIST_FOREACH_BEGIN(rend_service_list, rend_service_t *, new) {
SMARTLIST_FOREACH_BEGIN(old_service_list, rend_service_t *, old) {
if (!strcmp(old->directory, new->directory)) {
if (new->directory && old->directory &&
!strcmp(old->directory, new->directory)) {
smartlist_add_all(new->intro_nodes, old->intro_nodes);
smartlist_clear(old->intro_nodes);
smartlist_add(surviving_services, old);

No commit comments for this range