ソースを参照

Check for NULL values in getinfo_helper_onions

Fix on 915c7438a77e in Tor 0.2.7.1-alpha.
teor 9 年 前
コミット
6d8a2ff24f
2 ファイル変更11 行追加3 行削除
  1. 4 0
      changes/bug16115-NULL-getinfo-onions
  2. 7 3
      src/or/control.c

+ 4 - 0
changes/bug16115-NULL-getinfo-onions

@@ -0,0 +1,4 @@
+  o Minor fixes (threads, comments):
+    - Check for NULL values in getinfo_helper_onions
+      Patch by "teor".
+      Fix on 915c7438a77e in Tor 0.2.7.1-alpha.

+ 7 - 3
src/or/control.c

@@ -2193,7 +2193,7 @@ getinfo_helper_onions(control_connection_t *control_conn,
 {
   smartlist_t *onion_list = NULL;
 
-  if (!strcmp(question, "onions/current")) {
+  if (control_conn && !strcmp(question, "onions/current")) {
     onion_list = control_conn->ephemeral_onion_services;
   } else if (!strcmp(question, "onions/detached")) {
     onion_list = detached_onion_services;
@@ -2201,10 +2201,14 @@ getinfo_helper_onions(control_connection_t *control_conn,
     return 0;
   }
   if (!onion_list || smartlist_len(onion_list) == 0) {
-    *errmsg = "No onion services of the specified type.";
+    if (errmsg) {
+        *errmsg = "No onion services of the specified type.";
+    }
     return -1;
   }
-  *answer = smartlist_join_strings(onion_list, "\r\n", 0, NULL);
+  if (answer) {
+      *answer = smartlist_join_strings(onion_list, "\r\n", 0, NULL);
+  }
 
   return 0;
 }