[tor-commits] [tor/master] control/getinfo: Use standard error handling

teor at torproject.org teor at torproject.org
Mon Oct 21 05:24:58 UTC 2019


commit 92fa5239fc357c2078bf613a875c986a3bd97710
Author: teor <teor at torproject.org>
Date:   Mon Oct 21 13:49:44 2019 +1000

    control/getinfo: Use standard error handling
    
    Use BUG() for coding errors, and `< 0` for error checks.
    
    Fix to 31684.
---
 src/feature/control/control_getinfo.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/feature/control/control_getinfo.c b/src/feature/control/control_getinfo.c
index b77869e21..979fa4480 100644
--- a/src/feature/control/control_getinfo.c
+++ b/src/feature/control/control_getinfo.c
@@ -333,9 +333,8 @@ getinfo_helper_current_consensus(consensus_flavor_t flavor,
                                  const char** errmsg)
 {
   const char *flavor_name = networkstatus_get_flavor_name(flavor);
-  if (!strcmp(flavor_name, "??")) {
-    *errmsg = "Could not open cached consensus. "
-      "Make sure FetchUselessDescriptors is set to 1.";
+  if (BUG(!strcmp(flavor_name, "??"))) {
+    *errmsg = "Internal error: unrecognized flavor name.";
     return -1;
   }
   if (we_want_to_fetch_flavor(get_options(), flavor)) {
@@ -615,14 +614,14 @@ getinfo_helper_dir(control_connection_t *control_conn,
   } else if (!strcmp(question, "dir/status-vote/current/consensus")) {
     int consensus_result = getinfo_helper_current_consensus(FLAV_NS,
                                                             answer, errmsg);
-    if (consensus_result == -1) {
+    if (consensus_result < 0) {
       return -1;
     }
   } else if (!strcmp(question,
                      "dir/status-vote/current/consensus-microdesc")) {
     int consensus_result = getinfo_helper_current_consensus(FLAV_MICRODESC,
                                                             answer, errmsg);
-    if (consensus_result == -1) {
+    if (consensus_result < 0) {
       return -1;
     }
   } else if (!strcmp(question, "network-status")) { /* v1 */





More information about the tor-commits mailing list