소스 검색

Merge branch 'maint-0.3.3' into maint-0.3.4

Nick Mathewson 6 년 전
부모
커밋
c389c41292
2개의 변경된 파일11개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 0
      changes/bug26435
  2. 6 3
      src/or/protover.c

+ 5 - 0
changes/bug26435

@@ -0,0 +1,5 @@
+  o Major bugfixes:
+    - Fix a memory leak where directory authorities would leak a chunk
+      of memory for every router descriptor every time they considered
+      voting. This bug was taking down directory authorities due to
+      out-of-memory issues. Fixes bug 26435; bugfix on 0.3.3.6.

+ 6 - 3
src/or/protover.c

@@ -283,9 +283,12 @@ parse_protocol_list(const char *s)
 bool
 protover_contains_long_protocol_names(const char *s)
 {
-  if (!parse_protocol_list(s))
-    return true;
-  return false;
+  smartlist_t *list = parse_protocol_list(s);
+  if (!list)
+    return true; /* yes, has a dangerous name */
+  SMARTLIST_FOREACH(list, proto_entry_t *, ent, proto_entry_free(ent));
+  smartlist_free(list);
+  return false; /* no, looks fine */
 }
 
 /**