summaryrefslogtreecommitdiff
path: root/src/or/dirserv.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-06-12 12:12:11 -0400
committerNick Mathewson <nickm@torproject.org>2013-06-12 12:12:11 -0400
commite602c4031b57f0780661ce0473a5e30d187d385c (patch)
tree95b222a72c289ce457faf152e3392c3329ad2190 /src/or/dirserv.c
parentf455686b77e4ac686251c6edf1f4a506a369866c (diff)
downloadtor-e602c4031b57f0780661ce0473a5e30d187d385c.tar.gz
tor-e602c4031b57f0780661ce0473a5e30d187d385c.zip
Make all consumers of microdesc_t.body tolerate NULL
This is another fix to try to mitigate recurrences of 8031/8822.
Diffstat (limited to 'src/or/dirserv.c')
-rw-r--r--src/or/dirserv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 8f6d9ec438..3e46153a55 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -3981,7 +3981,7 @@ connection_dirserv_add_microdescs_to_outbuf(dir_connection_t *conn)
char *fp256 = smartlist_pop_last(conn->fingerprint_stack);
microdesc_t *md = microdesc_cache_lookup_by_digest256(cache, fp256);
tor_free(fp256);
- if (!md)
+ if (!md || !md->body)
continue;
if (conn->zlib_state) {
/* XXXX024 This 'last' business should actually happen on the last