From ded99992b831bfff782a3b3c612297a4634d3d88 Mon Sep 17 00:00:00 2001 From: rl1987 Date: Wed, 8 Apr 2020 20:01:21 +0300 Subject: Bail out of format_networkstatus_vote if fmt_addr32() failed. Something is fishy if we cannot put IP address string into dir-vote line. --- src/feature/dirauth/dirvote.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c index c8b4637e66..0a9ade1321 100644 --- a/src/feature/dirauth/dirvote.c +++ b/src/feature/dirauth/dirvote.c @@ -372,6 +372,9 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, tor_free(bw_headers_line); tor_free(bw_file_digest); + if (ip_str[0] == '\0') + goto err; + if (!tor_digest_is_zero(voter->legacy_id_digest)) { char fpbuf[HEX_DIGEST_LEN+1]; base16_encode(fpbuf, sizeof(fpbuf), voter->legacy_id_digest, DIGEST_LEN); -- cgit v1.2.3-54-g00ecf