Просмотр исходного кода

Merge remote-tracking branch 'special/bug16060'

Nick Mathewson 9 лет назад
Родитель
Сommit
0d3b3a4a23
2 измененных файлов с 6 добавлено и 1 удалено
  1. 4 0
      changes/bug16060
  2. 2 1
      src/or/rendservice.c

+ 4 - 0
changes/bug16060

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

+ 2 - 1
src/or/rendservice.c

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