]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix crash bug from 4a8eaad7 (Bug 6255)
authorNick Mathewson <nickm@torproject.org>
Fri, 29 Jun 2012 04:32:27 +0000 (00:32 -0400)
committerNick Mathewson <nickm@torproject.org>
Fri, 29 Jun 2012 04:32:27 +0000 (00:32 -0400)
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!

src/or/rendservice.c

index 8acc226e3a6d50426a81b7591612b486810f20b1..689cfb164665ebe7e978115e7f8feaad4907f91c 100644 (file)
@@ -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));