Sfoglia il codice sorgente

Fix crash bug from 4a8eaad7 (Bug 6255)

We were doing a tor_strclear() on client_keys_str when it might not
even be set.

Fix for bug 6255; bug not in any release of Tor.  Thanks to katmagic
for finding this one!
Nick Mathewson 12 anni fa
parent
commit
6abdcdf116
1 ha cambiato i file con 4 aggiunte e 3 eliminazioni
  1. 4 3
      src/or/rendservice.c

+ 4 - 3
src/or/rendservice.c

@@ -724,7 +724,6 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
     } else {
       log_info(LD_CONFIG, "Parsed %d previously stored client entries.",
                strmap_size(parsed_clients));
-      tor_free(client_keys_str);
     }
   }
 
@@ -870,8 +869,10 @@ rend_service_load_auth_keys(rend_service_t *s, const char *hfname)
   if (open_hfile)
     abort_writing_to_file(open_hfile);
  done:
-  tor_strclear(client_keys_str);
-  tor_free(client_keys_str);
+  if (client_keys_str) {
+    tor_strclear(client_keys_str);
+    tor_free(client_keys_str);
+  }
   strmap_free(parsed_clients, rend_authorized_client_strmap_item_free);
 
   memset(cfname, 0, sizeof(cfname));