summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrl1987 <rl1987@sdf.lonestar.org>2020-04-08 20:01:21 +0300
committerrl1987 <rl1987@users.noreply.github.com>2020-05-21 13:43:45 +0300
commitded99992b831bfff782a3b3c612297a4634d3d88 (patch)
treebeecf3421fc2886ed114218474e786da28b860eb
parent38cbfda119558877aeb4fa81578f0d0f6962d03e (diff)
downloadtor-ded99992b831bfff782a3b3c612297a4634d3d88.tar.gz
tor-ded99992b831bfff782a3b3c612297a4634d3d88.zip
Bail out of format_networkstatus_vote if fmt_addr32() failed.
Something is fishy if we cannot put IP address string into dir-vote line.
-rw-r--r--src/feature/dirauth/dirvote.c3
1 files changed, 3 insertions, 0 deletions
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);