Explorar o código

Merge branch 'maint-0.3.1' into maint-0.3.2

Nick Mathewson %!s(int64=6) %!d(string=hai) anos
pai
achega
44388757c4
Modificáronse 2 ficheiros con 8 adicións e 1 borrados
  1. 4 0
      changes/bug24826_031
  2. 4 1
      src/or/consdiff.c

+ 4 - 0
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.

+ 4 - 1
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;