commit 3d2d8d6841a7ad7247278e837165e14d2ced43db
Author: David Goulet <[email protected]>
Date:   Thu Sep 14 14:27:41 2017 -0400

    sched: Extra careful in channel_outbuf_length()
    
    In case we don't have a connection object in the channel, just be careful 
and
    recover.
    
    Signed-off-by: David Goulet <[email protected]>
---
 src/or/scheduler_kist.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
index b4234a053..2733e78f0 100644
--- a/src/or/scheduler_kist.c
+++ b/src/or/scheduler_kist.c
@@ -116,6 +116,12 @@ static scheduler_t *kist_scheduler = NULL;
 static inline size_t
 channel_outbuf_length(channel_t *chan)
 {
+  /* In theory, this can not happen because we can not scheduler a channel
+   * without a connection that has its outbuf initialized. Just in case, bug
+   * on this so we can understand a bit more why it happened. */
+  if (BUG(BASE_CHAN_TO_TLS(chan)->conn == NULL)) {
+    return 0;
+  }
   return buf_datalen(TO_CONN(BASE_CHAN_TO_TLS(chan)->conn)->outbuf);
 }
 



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to