]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Refactor poison_dir allocation and free in test_single_onion_poisoning
authorteor <teor2345@gmail.com>
Fri, 2 Dec 2016 19:25:46 +0000 (06:25 +1100)
committerteor <teor2345@gmail.com>
Fri, 2 Dec 2016 19:25:46 +0000 (06:25 +1100)
This pattern is much less error-prone when future changes are made.

src/test/test_hs.c

index f4ba7f9e0e4dedcb6c176d702132f617543bbf1f..1039c64fd520acc411844f3c73947676287bdac3 100644 (file)
@@ -541,6 +541,7 @@ test_single_onion_poisoning(void *arg)
   rend_service_t *service_2 = tor_malloc_zero(sizeof(rend_service_t));
   char *dir2 = tor_strdup(get_fname_rnd("test_hs_dir2"));
   smartlist_t *services = smartlist_new();
+  char *poison_path = NULL;
 
   /* No services, no service to verify, no problem! */
   mock_options->HiddenServiceSingleHopMode = 0;
@@ -706,9 +707,9 @@ test_single_onion_poisoning(void *arg)
 
   /* Now remove the poisoning from the first service, and we have the opposite
    * problem. */
-  char *poison_path = rend_service_sos_poison_path(service_1);
+  poison_path = rend_service_sos_poison_path(service_1);
+  tt_assert(poison_path);
   ret = unlink(poison_path);
-  tor_free(poison_path);
   tt_assert(ret == 0);
 
   /* Unpoisoned service directories with previous keys are ok, as are empty
@@ -765,6 +766,7 @@ test_single_onion_poisoning(void *arg)
   tt_assert(ret == 0);
 
  done:
+  tor_free(poison_path);
   tor_free(dir1);
   tor_free(dir2);
   /* The test harness deletes the directories at exit */