summaryrefslogtreecommitdiff
path: root/src/or/consdiff.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/consdiff.c')
-rw-r--r--src/or/consdiff.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/or/consdiff.c b/src/or/consdiff.c
index a01299c747..2a97797f3f 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;
}