[tor-commits] [tor/master] Make CONSENSUS_LINE_MAX_LEN a real define

nickm at torproject.org nickm at torproject.org
Thu Mar 16 19:01:08 UTC 2017


commit 83049cebc0b3c8221f0b2a7d0848acf9477478c4
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Mar 15 16:43:24 2017 -0400

    Make CONSENSUS_LINE_MAX_LEN a real define
---
 src/or/consdiff.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/or/consdiff.c b/src/or/consdiff.c
index a01299c..2a97797 100644
--- a/src/or/consdiff.c
+++ b/src/or/consdiff.c
@@ -1139,6 +1139,9 @@ consdiff_apply_diff(const smartlist_t *cons1,
   return cons2_str;
 }
 
+/** Any consensus line longer than this means that the input is invalid. */
+#define CONSENSUS_LINE_MAX_LEN (1<<20)
+
 /**
  * Helper: For every NL-terminated line in <b>s</b>, add a cdline referring to
  * that line (without trailing newline) to <b>out</b>.  Return -1 if there are
@@ -1160,7 +1163,7 @@ consensus_split_lines(smartlist_t *out, const char *s, memarea_t *area)
       /* File doesn't end with newline. */
       return -1;
     }
-    if (eol - s > UINT32_MAX) {
+    if (eol - s > CONSENSUS_LINE_MAX_LEN) {
       /* Line is far too long. */
       return -1;
     }





More information about the tor-commits mailing list