Merge remote-tracking branch 'special/bug16060'

This commit is contained in:
Nick Mathewson 2015-05-18 11:56:16 -04:00
commit 0d3b3a4a23
2 changed files with 6 additions and 1 deletions

4
changes/bug16060 Normal file
View File

@ -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.

View File

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