Преглед изворни кода

Suppress a coverity false positive in connection_edge_package_raw_inbuf

Coverity is worried that we're checking entry_conn in some cases,
but not in the case where we set entry_conn->pending_optimistic_data.

This commit should calm it down (CID 718623).
Nick Mathewson пре 11 година
родитељ
комит
43d2f99d54
1 измењених фајлова са 3 додато и 2 уклоњено
  1. 3 2
      src/or/relay.c

+ 3 - 2
src/or/relay.c

@@ -1563,11 +1563,12 @@ connection_edge_package_raw_inbuf(edge_connection_t *conn, int package_partial,
   circuit_t *circ;
   const unsigned domain = conn->base_.type == CONN_TYPE_AP ? LD_APP : LD_EXIT;
   int sending_from_optimistic = 0;
+  entry_connection_t *entry_conn =
+    conn->base_.type == CONN_TYPE_AP ? EDGE_TO_ENTRY_CONN(conn) : NULL;
   const int sending_optimistically =
+    entry_conn &&
     conn->base_.type == CONN_TYPE_AP &&
     conn->base_.state != AP_CONN_STATE_OPEN;
-  entry_connection_t *entry_conn =
-    conn->base_.type == CONN_TYPE_AP ? EDGE_TO_ENTRY_CONN(conn) : NULL;
   crypt_path_t *cpath_layer = conn->cpath_layer;
 
   tor_assert(conn);