diff options
-rw-r--r-- | src/or/rephist.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/or/rephist.c b/src/or/rephist.c index ab03fab09..998758164 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -131,6 +131,14 @@ void rep_hist_note_disconnect(const char* nickname, time_t when) void rep_hist_note_connection_died(const char* nickname, time_t when) { or_history_t *hist; + if(!nickname) { + /* XXX + * If conn has no nickname, it's either an OP, or it is an OR + * which didn't complete its handshake (or did and was unapproved). + * Ignore it. Is there anything better we could do? + */ + return; + } hist = get_or_history(nickname); if (hist->up_since) { hist->uptime += (when - hist->up_since); |