tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit c8a27d89b26394a0e802820fe891ef75787499ab
parent 77026f8a87064efc926f0be1e65c922f5e4ea238
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu, 18 Jan 2018 08:13:48 -0500

Merge branch 'maint-0.3.2'

Diffstat:
Achanges/bug24826_031 | 4++++
Msrc/or/consdiff.c | 5++++-
2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/changes/bug24826_031 b/changes/bug24826_031 @@ -0,0 +1,4 @@ + o Minor bugfixes (performance, fragile-hardening): + - Improve the performance of our consensus-diff application code when Tor + is built with the --enable-fragile-hardening option set. Fixes bug + 24826; bugfix on 0.3.1.1-alpha. diff --git a/src/or/consdiff.c b/src/or/consdiff.c @@ -1285,8 +1285,11 @@ consdiff_apply_diff(const smartlist_t *cons1, STATIC int consensus_split_lines(smartlist_t *out, const char *s, memarea_t *area) { + const char *end_of_str = s + strlen(s); + tor_assert(*end_of_str == '\0'); + while (*s) { - const char *eol = strchr(s, '\n'); + const char *eol = memchr(s, '\n', end_of_str - s); if (!eol) { /* File doesn't end with newline. */ return -1;